Exemple #1
0
 private List <ProductoDet> GetList()
 {
     try
     {
         try
         {
             List <ProductoDet> List         = new List <ProductoDet>();
             CN_CatProducto     cn_CapPedido = new CN_CatProducto();
             Sesion             session2     = new Sesion();
             session2 = (Sesion)Session["Sesion" + Session.SessionID];
             ProductoDet prdDet = new ProductoDet();
             prdDet.Id_Emp = session2.Id_Emp;
             prdDet.Id_Cd  = session2.Id_Cd_Ver;
             prdDet.Id_Prd = Convert.ToInt32(HF_Ped.Value);
             cn_CapPedido.ConsultaAsignPedxPrd(prdDet, session2.Emp_Cnx, ref List);
             return(List);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 public void ConsultaAsignPedxPrd(ProductoDet prdDet, string Conexion, ref List <ProductoDet> List)
 {
     try
     {
         CD_CatProducto claseCapaDatos = new CD_CatProducto();
         claseCapaDatos.ConsultaAsignPedxPrd(prdDet, Conexion, ref List);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Exemple #3
0
 private void Guardar()
 {
     try
     {
         if (Convert.ToBoolean(HF_Guardar.Value))
         {
             if (!Convert.ToBoolean(HiddenRebind.Value))
             {
                 Alerta("No ha realizado ninguna asignación");
                 return;
             }
             CapaDatos.Funciones funciones = new CapaDatos.Funciones();
             Sesion session = new Sesion();
             session = (Sesion)Session["Sesion" + Session.SessionID];
             List <ProductoDet> list   = new List <ProductoDet>();
             Pedido             pedido = new Pedido();
             pedido.Id_Emp    = session.Id_Emp;
             pedido.Id_Cd     = session.Id_Cd_Ver;
             pedido.Ped_Fecha = funciones.GetLocalDateTime(session.Minutos);
             pedido.Id_U      = session.Id_U;
             int         asignable = 0;
             ProductoDet Ped_Det   = default(ProductoDet);
             for (int x = 0; x < rgPedido.Items.Count; x++)
             {
                 Ped_Det           = new ProductoDet();
                 Ped_Det.Id_Prd    = Convert.ToInt32(txtProducto.Text);
                 Ped_Det.Id_Ped    = Convert.ToInt32(rgPedido.Items[x]["Id_Ped"].Text);
                 Ped_Det.Id_PedDet = Convert.ToInt32(rgPedido.Items[x]["Id_PedDet"].Text);
                 string Asignar    = (rgPedido.Items[x]["Ped_Asignar"].FindControl("txtAsig") as RadNumericTextBox).Text;
                 string asignarOld = rgPedido.Items[x]["Ped_AsignarOld"].Text;
                 Ped_Det.Ped_Asignar =
                     (!string.IsNullOrEmpty(Asignar) ? Convert.ToInt32(Asignar) : 0) - (!string.IsNullOrEmpty(asignarOld) ? Convert.ToInt32(asignarOld) : 0);
                 asignable += Ped_Det.Ped_Asignar;
                 list.Add(Ped_Det);
             }
             int            verificador    = 0;
             CN_CatProducto cn_catproducto = new CN_CatProducto();
             cn_catproducto.AsignarPedXPrd(pedido, list, session.Emp_Cnx, ref verificador, asignable, Convert.ToInt32(txtProducto.Text));
             if (verificador == 1)
             {
                 AlertaCerrar("Se realizó la asignación correctamente");
                 rgPedido.Rebind();
             }
             else if (verificador == 2)
             {
                 Alerta("No se cuenta con el inventario suficiente, no se realizo la asignación");
                 rgPedido.Rebind();
                 return;
             }
             else if (verificador == 3)
             {
                 Alerta("No se pudo realizar la asignación, el pedido no cuenta con la cantidad por asignar");
                 rgPedido.Rebind();
                 return;
             }
             else
             {
                 Alerta("Ocurrió un error al intentar asignar");
                 rgPedido.Rebind();
                 return;
             }
         }
         else
         {
             HF_Guardar.Value = "true";
         }
     }
     catch (Exception ex)
     {
         if (ex.Message == "inventario_insuficiente")
         {
             Alerta("No se cuenta con el inventario suficiente, no se realizo la asignación");
             rgPedido.Rebind();
         }
         else
         {
             if (ex.Message.Contains("deadlocked"))
             {
                 Alerta("El servidor esta tardando en responder, por favor de click en guardar nuevamente");
             }
             else
             {
                 throw ex;
             }
         }
     }
 }