private List <EntradaSalida> GetList() { try { List <EntradaSalida> entradasSalidas = new List <EntradaSalida>(); EntradaSalida entsal = new EntradaSalida(); Sesion session = new Sesion(); session = (Sesion)Session["Sesion" + Session.SessionID]; CN_CapEntradaSalida cnentSal = new CN_CapEntradaSalida(); int ManAut; switch (cmbManAuto.SelectedValue) { case "1": ManAut = 1; //manual break; case "0": ManAut = 0; //automatico break; default: ManAut = -1; //todos los demas break; } cnentSal.ConsultarEntradasSalidas(ref entradasSalidas, ref entsal, session, txtNombre2.Text, txtCliente1.Text == "" ? -1 : int.Parse(txtCliente1.Text), txtCliente2.Text == "" ? -1 : int.Parse(txtCliente2.Text), ManAut, txtProveedor1.Text == "" ? -1 : int.Parse(txtProveedor1.Text), txtProveedor2.Text == "" ? -1 : int.Parse(txtProveedor2.Text), txtReferencia2.Text, dpFecha1.SelectedDate, dpFecha2.SelectedDate,//<== cmbEstatus.SelectedValue, txtNumero1.Text == "" ? -1 : int.Parse(txtNumero1.Text), txtCliente3.Text == "" ? -1 : int.Parse(txtCliente3.Text)); return(entradasSalidas); } catch (Exception ex) { throw ex; } }
private string Producto_Cantidad(Sesion sesion, string valor_retorno, string nat_, string gpo_, int id_prd, string ref_, int es_, int ter_, int can_, string mov_, string cte_, Producto producto) { try { if (nat_ == "1") { int cantidadB = 0; foreach (EntradaSalidaDetalle dr in list_Es) { if (dr.Id_Prd.ToString() == id_prd.ToString()) { cantidadB = cantidadB + Convert.ToInt32(dr.Es_Cantidad); } } if (Session["estatus" + Session.SessionID + HF_ClvPag].ToString() == "1") { cantidadB = cantidadB - Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]); } CN_CapRemision rem = new CN_CapRemision(); int cantidadES2 = 0; if (actualizacionDocumento) { rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx); } if (producto.Prd_InvFinal - producto.Prd_Asignado + cantidadES2 < can_ + cantidadB) { return("-1@@" + "No hay producto suficiente"); } } else if (gpo_ == "0") { int edicion = Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]); if (producto.Prd_InvFinal - producto.Prd_Asignado - (edicion - can_) < 0) { return("-1@@" + "Producto " + producto.Id_Prd.ToString() + " inventario disponible insuficiente, inventario final: " + producto.Prd_InvFinal.ToString() + ", asignado: " + producto.Prd_Asignado.ToString() + ", disponible:" + (producto.Prd_InvFinal - producto.Prd_Asignado).ToString()); } } if (gpo_ == "4" || gpo_ == "2") { CN_CapEntradaSalida CNentrada = new CN_CapEntradaSalida(); int verificador = 0; CNentrada.ConsultarSaldo(sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd.ToString(), ter_.ToString(), cte_, sesion.Emp_Cnx, ref verificador, mov_); int Prd_AgrupadoSpo = producto.Prd_AgrupadoSpo; int cantidadEnDt = 0; foreach (EntradaSalidaDetalle dr in list_Es.Where(EntradaSalidaDetalle => EntradaSalidaDetalle.Prd_AgrupadoSpo == Prd_AgrupadoSpo && EntradaSalidaDetalle.Id_Ter == ter_ && EntradaSalidaDetalle.Id_Prd != id_prd).ToList()) { cantidadEnDt += dr.Es_Cantidad; } CN_CapRemision rem = new CN_CapRemision(); int cantidadES2 = 0; if (actualizacionDocumento) { rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, Prd_AgrupadoSpo, nat_, ref cantidadES2, sesion.Emp_Cnx); verificador += cantidadES2; } if (cantidadEnDt + can_ > verificador) { return("-1@@" + "Los artículos sobrepasan lo disponible"); } } else if (gpo_ == "3") { CN_CapRemision rem = new CN_CapRemision(); int cantidadES = 0; int cantidadEnDttemp_original = 0; if (Session["estatus" + Session.SessionID + HF_ClvPag].ToString() != "1") { cantidadEnDttemp_original = 0; } else { cantidadEnDttemp_original = Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]); } int cantidadB = 0; foreach (EntradaSalidaDetalle dr in list_Es) { if (dr.Id_Prd.ToString() == id_prd.ToString()) { cantidadB += dr.Es_Cantidad; } } //rem.ConsultarRemisionesCantidad(session.Id_Emp, session.Id_Cd_Ver, refe, id_prd, ref cantidadES, session.Emp_Cnx); rem.ConsultarRemisionesCantidadRem(sesion.Id_Emp, sesion.Id_Cd_Ver, ref_, id_prd, ref cantidadES, sesion.Emp_Cnx); int cantidadES2 = 0; if (actualizacionDocumento) { rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx); cantidadES += cantidadES2; } if (cantidadES < cantidadB - cantidadEnDttemp_original + can_) //if (cantidadES < can_) { return("-1@@" + "Los artículos sobrepasan el disponible"); } if (producto.Prd_InvFinal - producto.Prd_Asignado - (cantidadEnDttemp_original - can_) < 0) { return("-1@@" + "Producto " + producto.Id_Prd.ToString() + " inventario disponible insuficiente, inventario final: " + producto.Prd_InvFinal.ToString() + ", asignado: " + producto.Prd_Asignado.ToString() + ", disponible:" + (producto.Prd_InvFinal - producto.Prd_Asignado).ToString()); } } else if (gpo_ == "1") { if (actualizacionDocumento) { CN_CapRemision rem = new CN_CapRemision(); int cantidadES2 = 0; rem.ConsultarRemisionesCantidadRemCantidad(sesion.Id_Emp, sesion.Id_Cd_Ver, es_, id_prd, nat_, ref cantidadES2, sesion.Emp_Cnx); Producto cp = new Producto(); CN_CatProducto cn_catproducto = new CN_CatProducto(); cn_catproducto.ConsultaProducto(ref cp, sesion.Emp_Cnx, sesion.Id_Emp, sesion.Id_Cd_Ver, id_prd); int cantidadB = 0; foreach (EntradaSalidaDetalle dr in list_Es) { if (dr.Id_Prd.ToString() == id_prd.ToString()) { cantidadB += dr.Es_Cantidad; } } cantidadB = cantidadB - Convert.ToInt32(Session["CantidadEdicion" + Session.SessionID + HF_ClvPag]) + (int)can_; if (cantidadB < cantidadES2 && (cantidadES2 - cantidadB) > (cp.Prd_InvFinal - cp.Prd_Asignado)) { return("-1@@" + "Producto " + id_prd.ToString() + " inventario disponible insuficiente, inventario final: " + cp.Prd_InvFinal.ToString() + ", asignado: " + cp.Prd_Asignado.ToString() + " , disponible: " + (cp.Prd_InvFinal - cp.Prd_Asignado).ToString() + ""); } } } return("1"); } catch (Exception ex) { throw ex; } }
private void ImprimirRemisionElectronica(EntradaSalida entSal) { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; List <EntradaSalidaDetalle> listaProdFacturaEspecialFinal = new List <EntradaSalidaDetalle>(); entSal.Es_Estatus = "I"; int verificador = 0; entSal.Id_Emp = sesion.Id_Emp; new CN_CapEntradaSalida().ModificarEntradaSalida_Estatus(entSal, sesion.Emp_Cnx, ref verificador); CN_CatCliente cn_catcliente = new CN_CatCliente(); Clientes clientes = new Clientes(); clientes.Id_Emp = sesion.Id_Emp; clientes.Id_Cd = sesion.Id_Cd_Ver; clientes.Id_Cte = entSal.Id_Cte; cn_catcliente.ConsultaClientes(ref clientes, sesion.Emp_Cnx); entSal.Id_Emp = sesion.Id_Emp; CN_CapEntradaSalida cn_catensal = new CN_CapEntradaSalida(); cn_catensal.ConsultarEntradaSalidaDetalles(sesion, entSal, ref listaProdFacturaEspecialFinal); CN_CatCentroDistribucion cn_cd = new CN_CatCentroDistribucion(); CentroDistribucion cd = new CentroDistribucion(); double iva = 0; cn_cd.ConsultarIva(sesion.Id_Emp, sesion.Id_Cd_Ver, ref iva, sesion.Emp_Cnx); StringBuilder XML_Enviar = new StringBuilder(); XML_Enviar.Append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); XML_Enviar.Append("<RemisionCuentaNacional"); XML_Enviar.Append(" TipoDocumento=\"\">"); XML_Enviar.Append(" <Sucursal"); XML_Enviar.Append(" CDINum=\"\""); XML_Enviar.Append(" CDINom=\"\""); XML_Enviar.Append(" CDIIVA=\"\"/>"); XML_Enviar.Append(" <Documento"); XML_Enviar.Append(" Folio=\"\""); XML_Enviar.Append(" CuentaNacional=\"\""); XML_Enviar.Append(" Status=\"\""); XML_Enviar.Append(" Fecha=\"\""); XML_Enviar.Append(" Remision=\"\""); XML_Enviar.Append(" Total=\"\"/>"); XML_Enviar.Append(" <DetalleKey>"); if (listaProdFacturaEspecialFinal.Count() > 0) { foreach (EntradaSalidaDetalle d in listaProdFacturaEspecialFinal) { XML_Enviar.Append(" <Producto"); XML_Enviar.Append(" Codigo=\"" + d.Id_Prd.ToString() + "\""); XML_Enviar.Append(" Descipcion=\"" + d.Prd_Descripcion.ToString().Replace("\"", "").Replace("'", "").Replace("&", "") + "\""); XML_Enviar.Append(" Cantidad=\"" + d.Es_Cantidad + "\""); XML_Enviar.Append(" Unidad=\"" + d.Prd_Unidad + "\""); XML_Enviar.Append(" Presentacion=\"" + d.Prd_Presentacion + "\""); XML_Enviar.Append(" Precio=\"" + d.Es_Costo + "\""); XML_Enviar.Append(" />"); } } XML_Enviar.Append(" </DetalleKey>"); XML_Enviar.Append(" </RemisionCuentaNacional>"); XmlDocument xml = new XmlDocument(); xml.LoadXml(XML_Enviar.ToString()); XmlNode RemisionCuentaNacional = xml.SelectSingleNode("RemisionCuentaNacional"); RemisionCuentaNacional.Attributes["TipoDocumento"].Value = "Entrada"; XmlNode Sucursal = RemisionCuentaNacional.SelectSingleNode("Sucursal"); Sucursal.Attributes["CDINum"].Value = entSal.Id_Cd.ToString(); Sucursal.Attributes["CDINom"].Value = "Prueba"; Sucursal.Attributes["CDIIVA"].Value = iva.ToString(); XmlNode Documento = RemisionCuentaNacional.SelectSingleNode("Documento"); Documento.Attributes["Folio"].Value = entSal.Id_Es.ToString(); Documento.Attributes["Status"].Value = entSal.Es_Estatus.ToString(); Documento.Attributes["CuentaNacional"].Value = entSal.Es_CteCuentaNacional.ToString(); Documento.Attributes["Remision"].Value = entSal.Es_Referencia.ToString(); Documento.Attributes["Fecha"].Value = entSal.Es_Fecha.ToShortDateString(); Documento.Attributes["Total"].Value = entSal.Es_Total.ToString(); StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); xml.WriteTo(tx); string xmlString = sw.ToString(); WS_RemElectronicaCtaNacional.Service1 remelectronica = new WS_RemElectronicaCtaNacional.Service1(); string sianRemisionElectronicaResult = remelectronica.Imprime_Entrada(xmlString).ToString(); byte[] PDFRemision = this.Base64ToByte(sianRemisionElectronicaResult); string tempPDFname = string.Concat("BAJAREMISION_", entSal.Id_Emp.ToString(), "_", entSal.Id_Cd.ToString(), "_", entSal.Id_U.ToString(), ".pdf"); string URLtempPDF = Server.MapPath(string.Concat(System.Configuration.ConfigurationManager.AppSettings["URLtempPDF"].ToString(), tempPDFname)); string WebURLtempPDF = string.Concat(System.Configuration.ConfigurationManager.AppSettings["WebURLtempPDF"].ToString(), tempPDFname); this.ByteToTempPDF(URLtempPDF, PDFRemision); RadAjaxManager1.ResponseScripts.Add(string.Concat(@"AbrirFacturaPDF('", WebURLtempPDF, "')")); } catch (Exception ex) { throw ex; } }