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