我希望我的用户可以同时注册最多两个订单(使用表格),直到他完成一个订单,以便他可以下一个订单。我在控制器上有下一个代码,并尝试通过会话来执行此操作,但由于某种原因无法正常工作。
短代码在这里不起作用
var pedido_2 = dc.SAFACTs.FirstOrDefault(b => b.CodUsua == User.Identity.Name && b.SAFACT_01.Estado == "0");
/****** Begin: I try to check if is an order open and let the user make only 1 more ******/
if (Session["pedido_2"] != null)
{
pedido_2 = (Models.SAFACT)Session["pedido_2"];
}
if (Session["pedido_2"] == null)
{
pedido_2 = dc.SAFACTs.FirstOrDefault(b => b.CodUsua == User.Identity.Name && b.SAFACT_01.Estado == "1");
}
/***** End: I try to check if is an order open and let the user make only 1 more *****/
完整的代码在这里,如果你想检查控制器上的两个功能
[AuthorizeRoles(Modulo = "4310")]
public ActionResult Index()
{
int nivel = PRINCIPAL.Models.Usuarios.Autorizar(User.Identity.Name, "4310");
ViewData["NivelAcceso"] = nivel;
Models.EADBDataContext dc = new Models.EADBDataContext();
var user = User.Identity.Name;
var CodVend = dc.GEN_ROL_USRs.FirstOrDefault(f => f.CodUsua == user).SSUSR.CodVend;
var usuario = dc.SSUSRs.FirstOrDefault(q => q.CodUsua == user).CodVend;
ViewData["CodVend"] = CodVend;
var rolUser = dc.GEN_ROL_USRs.FirstOrDefault(f => f.CodUsua == user);
var list = dc.SACLIEs.Where(b => (b.CodVend != null && b.CodVend == CodVend) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
//VENDEDORES
if (rolUser.CodRol == 2)
{
list = dc.SACLIEs.Where(b => (b.CodVend == CodVend) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//SUPERVISOR
if (rolUser.CodRol == 28)
{
//var supervisor = dc.SAVENDs.Where(a => a.SAVEND_01s.CodSuper == usuario || a.ID3 == usuario)
list = dc.SACLIEs.Where(b => (b.SAVEND.SAVEND_01s.CodSuper == usuario || b.SAVEND.ID3 == usuario) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();//
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//GERENTES
if (rolUser.CodRol == 10)
{
var gerente = dc.SAVENDs.FirstOrDefault(t => t.CodVend == usuario).Clase;
list = dc.SACLIEs.Where(b => b.SAVEND.Clase == gerente && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//DIRECTIVOS Y ADMINISTRADOR
if (rolUser.CodRol == 18 || rolUser.CodRol == 1)
{
list = dc.SACLIEs.Where(b => (b.CodVend != null) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//OTROS
if (rolUser.CodRol != 1 && rolUser.CodRol != 2 && rolUser.CodRol != 28 && rolUser.CodRol != 10 && rolUser.CodRol != 18)
{
list = dc.SACLIEs.Where(b => b.CodVend != null && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
var pedido_1 = dc.SAFACTs.FirstOrDefault(b => b.CodUsua == User.Identity.Name && b.SAFACT_01.Estado == "0");
if (pedido_1 != null)
{
Session["pedido_1"] = pedido_1; //Se esta generando un pedido Principal
var list2 = dc.VEN_TRANSPs.Where(w => w.Activo == true).ToList();
list2.Insert(0, new Models.VEN_TRANSP() { Descripcion = "Seleccionar" });
ViewData["Transporte"] = new SelectList(list2, "CodTransp", "Descripcion", pedido_1.SAFACT_01.CodTransp);
var TipoPagoCliente = pedido_1.SACLIE.EsCredito;
var list3 = new System.Collections.Generic.Dictionary<string, int>();
if (TipoPagoCliente == 0)
{
list3.Add("Prepago", 3);
}
else
{
list3.Add("Crédito", 0);
// list3.Add("Contado", 1);
// list3.Add("Prepago antes de Surtir", 2);
list3.Add("Prepago", 3);
}
ViewData["Pago"] = new SelectList(list3, "Value", "Key", pedido_1.SAFACT_01.TipoPago);
var cliente = dc.SACLIEs.FirstOrDefault(b => b.CodClie == pedido_1.CodClie);
var Monto = cliente.SAFACTs.FirstOrDefault(b => b.NumeroD == pedido_1.NumeroD);
ViewData["Disponible"] = (cliente.LimiteCred - GetSaldo(pedido_1.CodClie)).ToString("#,##0.00");
ViewData["Comentarios"] = pedido_1.SAFACT_01.ObserTransp;
}
var list4 = dc.SAVENDs.ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//VENDEDOR
if (rolUser.CodRol == 2)
{
list4 = dc.SAVENDs.Where(a => a.CodVend == usuario).ToList();
//list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//SUPERVISOR
if (rolUser.CodRol == 28)
{
list4 = dc.SAVENDs.Where(a => a.SAVEND_01s.CodSuper == usuario || a.ID3 == usuario).ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//GERENTE
if (rolUser.CodRol == 10)
{
var gerente = dc.SAVENDs.FirstOrDefault(t => t.CodVend == usuario).Clase;
list4 = dc.SAVENDs.Where(a => a.Clase == gerente).ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//DIRECTIVOS
if (rolUser.CodRol == 18 || rolUser.CodRol == 1)
{
list4 = dc.SAVENDs.ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
var list5 = dc.SAINSTAs.Where(b => b.SAPRODs.Count() > 0).OrderBy(a => a.Descrip).ToList();
list5.Insert(0, new Models.SAINSTA() { Descrip = "Seleccione una Categoria", CodInst = -1 });
ViewData["SAINSTA"] = new SelectList(list5, "CodInst", "Descrip");
ViewData["CodInst"] = "";
ViewData["OrdenDeEmpraque"] = PRINCIPAL.Models.CONFIG.GetValue(9, PRINCIPAL.Models.CONFIG.DataType.Boolean);
return View(pedido_1);
}
[AuthorizeRoles(Modulo = "4310")]
public ActionResult secundario()
{
int nivel = PRINCIPAL.Models.Usuarios.Autorizar(User.Identity.Name, "4310");
ViewData["NivelAcceso"] = nivel;
Models.EADBDataContext dc = new Models.EADBDataContext();
var user = User.Identity.Name;
var CodVend = dc.GEN_ROL_USRs.FirstOrDefault(f => f.CodUsua == user).SSUSR.CodVend;
var usuario = dc.SSUSRs.FirstOrDefault(q => q.CodUsua == user).CodVend;
ViewData["CodVend"] = CodVend;
var rolUser = dc.GEN_ROL_USRs.FirstOrDefault(f => f.CodUsua == user);
var list = dc.SACLIEs.Where(b => (b.CodVend != null && b.CodVend == CodVend) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
//VENDEDORES
if (rolUser.CodRol == 2)
{
list = dc.SACLIEs.Where(b => (b.CodVend == CodVend) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//SUPERVISOR
if (rolUser.CodRol == 28)
{
//var supervisor = dc.SAVENDs.Where(a => a.SAVEND_01s.CodSuper == usuario || a.ID3 == usuario)
list = dc.SACLIEs.Where(b => (b.SAVEND.SAVEND_01s.CodSuper == usuario || b.SAVEND.ID3 == usuario) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();//
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//GERENTES
if (rolUser.CodRol == 10)
{
var gerente = dc.SAVENDs.FirstOrDefault(t => t.CodVend == usuario).Clase;
list = dc.SACLIEs.Where(b => b.SAVEND.Clase == gerente && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//DIRECTIVOS Y ADMINISTRADOR
if (rolUser.CodRol == 18 || rolUser.CodRol == 1)
{
list = dc.SACLIEs.Where(b => (b.CodVend != null) && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
//OTROS
if (rolUser.CodRol != 1 && rolUser.CodRol != 2 && rolUser.CodRol != 28 && rolUser.CodRol != 10 && rolUser.CodRol != 18)
{
list = dc.SACLIEs.Where(b => b.CodVend != null && b.Activo == 1 && b.SACLIE_01s.Suspendido != 1).ToList();
list.Insert(0, new Models.SACLIE() { Descrip = "Seleccione un Cliente" });
ViewData["SACLIE"] = new SelectList(list, "CodClie", "Descrip");
}
var pedido_2 = dc.SAFACTs.FirstOrDefault(b => b.CodUsua == User.Identity.Name && b.SAFACT_01.Estado == "0");
/****** Begin: I try to check if is an order open and let the user make only 1 more ******/
if (Session["pedido_2"] != null)
{
pedido_2 = (Models.SAFACT)Session["pedido_2"];
}
if (Session["pedido_2"] == null)
{
pedido_2 = dc.SAFACTs.FirstOrDefault(b => b.CodUsua == User.Identity.Name && b.SAFACT_01.Estado == "1");
}
/***** End: I try to check if is an order open and let the user make only 1 more *****/
if (Session["pedido_2"] != null)
{
Session["pedido_2"] = pedido_2; //Se esta generando un pedido Secundario
var list2 = dc.VEN_TRANSPs.Where(w => w.Activo == true).ToList();
list2.Insert(0, new Models.VEN_TRANSP() { Descripcion = "Seleccionar" });
ViewData["Transporte"] = new SelectList(list2, "CodTransp", "Descripcion", pedido_2.SAFACT_01.CodTransp);
var TipoPagoCliente = pedido_2.SACLIE.EsCredito;
var list3 = new System.Collections.Generic.Dictionary<string, int>();
if (TipoPagoCliente == 0)
{
list3.Add("Prepago", 3);
}
else
{
list3.Add("Crédito", 0);
// list3.Add("Contado", 1);
// list3.Add("Prepago antes de Surtir", 2);
list3.Add("Prepago", 3);
}
ViewData["Pago"] = new SelectList(list3, "Value", "Key", pedido_2.SAFACT_01.TipoPago);
var cliente = dc.SACLIEs.FirstOrDefault(b => b.CodClie == pedido_2.CodClie);
var Monto = cliente.SAFACTs.FirstOrDefault(b => b.NumeroD == pedido_2.NumeroD);
ViewData["Disponible"] = (cliente.LimiteCred - GetSaldo(pedido_2.CodClie)).ToString("#,##0.00");
ViewData["Comentarios"] = pedido_2.SAFACT_01.ObserTransp;
}
var list4 = dc.SAVENDs.ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//VENDEDOR
if (rolUser.CodRol == 2)
{
list4 = dc.SAVENDs.Where(a => a.CodVend == usuario).ToList();
//list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//SUPERVISOR
if (rolUser.CodRol == 28)
{
list4 = dc.SAVENDs.Where(a => a.SAVEND_01s.CodSuper == usuario || a.ID3 == usuario).ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//GERENTE
if (rolUser.CodRol == 10)
{
var gerente = dc.SAVENDs.FirstOrDefault(t => t.CodVend == usuario).Clase;
list4 = dc.SAVENDs.Where(a => a.Clase == gerente).ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
//DIRECTIVOS
if (rolUser.CodRol == 18 || rolUser.CodRol == 1)
{
list4 = dc.SAVENDs.ToList();
list4.Insert(0, new Models.SAVEND() { CodVend = "-1", Descrip = "Seleccione un Vendedor" });
ViewData["SAVEND"] = new SelectList(list4, "CodVend", "Descrip");
ViewData["Vendedor"] = "";
//return View();
}
var list5 = dc.SAINSTAs.Where(b => b.SAPRODs.Count() > 0).OrderBy(a => a.Descrip).ToList();
list5.Insert(0, new Models.SAINSTA() { Descrip = "Seleccione una Categoria", CodInst = -1 });
ViewData["SAINSTA"] = new SelectList(list5, "CodInst", "Descrip");
ViewData["CodInst"] = "";
ViewData["OrdenDeEmpraque"] = PRINCIPAL.Models.CONFIG.GetValue(9, PRINCIPAL.Models.CONFIG.DataType.Boolean);
return View(pedido_2);
}