0

我希望我的用户可以同时注册最多两个订单(使用表格),直到他完成一个订单,以便他可以下一个订单。我在控制器上有下一个代码,并尝试通过会话来执行此操作,但由于某种原因无法正常工作。

短代码在这里不起作用

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);
}
4

0 回答 0