public void ConsultaOrdenCompraDetalle_Lista(OrdenCompraDet ordenCompraDet, string Conexion, ref List <OrdenCompraDet> List) { try { CD_CapOrdenCompraDet claseCapaDatos = new CD_CapOrdenCompraDet(); claseCapaDatos.ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, Conexion, ref List); } catch (Exception ex) { throw ex; } }
public void ConsultaOrdenCompraDetalle_Lista(OrdenCompraDet ordenCompraDet, string Conexion, ref List <OrdenCompraDet> List) { try { SqlDataReader dr = null; CapaDatos.CD_Datos CapaDatos = new CapaDatos.CD_Datos(Conexion); string[] Parametros = { "@Id_Emp", "@Id_Cd", "@Id_Ord" }; object[] Valores = { ordenCompraDet.Id_Emp, ordenCompraDet.Id_Cd, ordenCompraDet.Id_Ord }; SqlCommand sqlcmd = CapaDatos.GenerarSqlCommand("spCapOrdCompraDetalle_Consulta", ref dr, Parametros, Valores); while (dr.Read()) { ordenCompraDet = new OrdenCompraDet(); ordenCompraDet.Producto = new Producto(); ordenCompraDet.Id_Emp = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Emp"))); ordenCompraDet.Id_Cd = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Cd"))); ordenCompraDet.Id_Ord = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Ord"))); ordenCompraDet.Id_OrdDet = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_OrdDet"))); ordenCompraDet.Id_Prd = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Prd"))); ordenCompraDet.Ord_Cantidad = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_Cantidad"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_Cantidad"))); ordenCompraDet.Ord_CantidadGen = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_CantidadGen"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_CantidadGen"))); ordenCompraDet.Ord_CantidadCump = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Ord_CantidadCump"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Ord_CantidadCump"))); ordenCompraDet.Producto.Id_Prd = Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Id_Prd"))); ordenCompraDet.Producto.Prd_Descripcion = dr.GetValue(dr.GetOrdinal("Prd_Descripcion")).ToString(); ordenCompraDet.Producto.Prd_Presentacion = dr.GetValue(dr.GetOrdinal("Prd_Presentacion")).ToString(); ordenCompraDet.Producto.Prd_UniNe = dr.GetValue(dr.GetOrdinal("Prd_UniNe")).ToString(); ordenCompraDet.Producto.Prd_InvFinal = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_InvFinal"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Prd_InvFinal"))); ordenCompraDet.Producto.Prd_Transito = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_Transito"))) ? 0 : Convert.ToInt32(dr.GetValue(dr.GetOrdinal("Prd_Transito"))); ordenCompraDet.ProductoPrecio = new ProductoPrecios(); ordenCompraDet.ProductoPrecio.Prd_Pesos = Convert.IsDBNull(dr.GetValue(dr.GetOrdinal("Prd_Pesos"))) ? 0 : Convert.ToSingle(dr.GetValue(dr.GetOrdinal("Prd_Pesos"))); List.Add(ordenCompraDet); } CapaDatos.LimpiarSqlcommand(ref sqlcmd); } catch (Exception ex) { throw ex; } }
private void GuardarDeExcel(DataSet ds) { try { if (ds.Tables != null) { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; OrdenCompra ordCompra = new OrdenCompra(); ordCompra.Id_Emp = sesion.Id_Emp; ordCompra.Id_Cd = sesion.Id_Cd_Ver; ordCompra.Id_Ord = 0; ordCompra.Id_Pvd = Id_Pvd; ordCompra.Id_U = sesion.Id_U; //cuando se da de alta por el usuario el estatus siempre es M = Manual ordCompra.Ord_Estatus = "C"; CapaDatos.Funciones funciones = new CapaDatos.Funciones(); DateTime fechaServidor = funciones.GetLocalDateTime(sesion.Minutos); ordCompra.Ord_Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, fechaServidor.Hour, fechaServidor.Minute, fechaServidor.Second); ordCompra.Ord_Tipo = 2; //1 = Manual, 2 = Automática ordCompra.Ord_Notas = "Orden generada automáticamente"; List <OrdenCompraDet> listaPartidaTemp = new List <OrdenCompraDet>(); OrdenCompraDet ordenCompraDet; int productoInicial = Prd_Inicial; int productoFinal = Prd_Final; if (!Page.IsPostBack) { productoInicial = -1; productoFinal = -1; } bool aplicaTransito = chkTransito; DataTable dtPartidas = null; new CN_CapOrdenCompra().GeneraOrdenCompraAutomatica(sesion.Emp_Cnx, ref dtPartidas, "tabla", sesion.Id_Emp, sesion.Id_Cd_Ver, Id_Pvd, productoInicial, productoFinal, aplicaTransito, 1); //checar int ordenado = 0; foreach (DataRow row in ds.Tables[0].Rows) { if (row[10] != DBNull.Value && int.TryParse(string.IsNullOrEmpty(row[10].ToString()) ? "0" : row[10].ToString(), out ordenado)) { int prd = 0;//!string.IsNullOrEmpty(row[0].ToString()) ? int.TryParse(row[0].ToString(), out prd) : 0; int.TryParse(row[0].ToString(), out prd); if (prd > 0) { if (ordenado > 0) { DataRow[] drArray; ordenCompraDet = new OrdenCompraDet(); drArray = dtPartidas.Select("Id_Prd='" + prd + "'"); if (drArray.Length > 0) { double Prd_UniEmp = !string.IsNullOrEmpty(drArray[0].ItemArray[1].ToString()) ? Convert.ToDouble(drArray[0].ItemArray[1].ToString()) : 1; if (ordenado % Prd_UniEmp != 0) { while (ordenado % Prd_UniEmp != 0) { ordenado += 1; } } ordenCompraDet.Id_Emp = sesion.Id_Emp; ordenCompraDet.Id_Cd = sesion.Id_Cd_Ver; ordenCompraDet.Id_Ord = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual ordenCompraDet.Id_OrdDet = 0; //identity ordenCompraDet.Id_Prd = Convert.ToInt32(row[0]); ordenCompraDet.Ord_Cantidad = ordenado; // Convert.ToInt32(row[10]); ordenCompraDet.Ord_CantidadGen = 0; listaPartidaTemp.Add(ordenCompraDet); } } } } } // Create the query. IEnumerable <OrdenCompraDet> sortedStudents = from Partida in listaPartidaTemp orderby Partida.Id_Prd ascending select Partida; List <OrdenCompraDet> listaPartida = new List <OrdenCompraDet>(); foreach (OrdenCompraDet Partida2 in sortedStudents) { listaPartida.Add(Partida2); } //Genera la orden de compra solo si la lista trae 1 o mas partidas if (listaPartida.Count > 0) { ordCompra.ListOrdenCompra = listaPartida; int verificador = 0; new CN_CapOrdenCompra().InsertarOrdenCompra(ref ordCompra, sesion.Emp_Cnx, ref verificador); string mensaje = "Se genero la orden de compra # <b>" + verificador.ToString() + "</b>"; RAM1.ResponseScripts.Add(string.Concat(@"CloseWindow_Excel('", mensaje, "')")); } else { this.DisplayMensajeAlerta("ProOrdenCompraAuto_insert_NoPartidas"); } } else { this.DisplayMensajeAlerta("ErrorPartidas"); } } catch (Exception ex) { Alerta(ex.Message.Replace("'", "")); } }
private void Guardar() { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; OrdenCompra ordCompra = new OrdenCompra(); ordCompra.Id_Emp = sesion.Id_Emp; ordCompra.Id_Cd = sesion.Id_Cd_Ver; ordCompra.Id_Ord = 0; ordCompra.Id_Pvd = txtProveedor.Text == "" ? 0 : Convert.ToInt32(txtProveedor.Text); ordCompra.Id_U = sesion.Id_U; //cuando se da de alta por el usuario el estatus siempre es M = Manual ordCompra.Ord_Estatus = "C"; CapaDatos.Funciones funciones = new CapaDatos.Funciones(); DateTime fechaServidor = funciones.GetLocalDateTime(sesion.Minutos); ordCompra.Ord_Fecha = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, fechaServidor.Hour, fechaServidor.Minute, fechaServidor.Second); ordCompra.Ord_Tipo = 2; //1 = Manual, 2 = Automática ordCompra.Ord_Notas = "Orden generada automáticamente"; List <OrdenCompraDet> listaPartidaTemp = new List <OrdenCompraDet>(); OrdenCompraDet ordenCompraDet; foreach (DataRow row in this.listaPartidas.Select("ordenado > 0")) { ordenCompraDet = new OrdenCompraDet(); ordenCompraDet.Id_Emp = sesion.Id_Emp; ordenCompraDet.Id_Cd = sesion.Id_Cd_Ver; ordenCompraDet.Id_Ord = 0; //se debe volver asignar cuando se guarda la orden de compra, cuando actualiza queda igual ordenCompraDet.Id_OrdDet = 0; //identity ordenCompraDet.Id_Prd = Convert.ToInt32(row["Id_Prd"]); ordenCompraDet.Ord_Cantidad = Convert.ToInt32(row["ordenado"]); ordenCompraDet.Ord_CantidadGen = 0; listaPartidaTemp.Add(ordenCompraDet); } // Create the query. IEnumerable <OrdenCompraDet> sortedStudents = from Partida in listaPartidaTemp orderby Partida.Id_Prd ascending select Partida; List <OrdenCompraDet> listaPartida = new List <OrdenCompraDet>(); foreach (OrdenCompraDet Partida2 in sortedStudents) { listaPartida.Add(Partida2); } //Genera la orden de compra solo si la lista trae 1 o mas partidas if (listaPartida.Count > 0) { ordCompra.ListOrdenCompra = listaPartida; int verificador = 0; new CN_CapOrdenCompra().InsertarOrdenCompra(ref ordCompra, sesion.Emp_Cnx, ref verificador); Alerta("Se genero la orden de compra #" + verificador.ToString()); //actualiza grid por si hubo redondeo de partidas por multiplos this.GetList(); rgOrdenCompra.Rebind(); } else { this.DisplayMensajeAlerta("ProOrdenCompraAuto_insert_NoPartidas"); } txtId_PrdInicial_TextChanged(null, null); txtId_PrdFinal_TextChanged(null, null); } catch (Exception) { throw; } }
private void OrdenCompra_CrearEnviaXML(int Id_Emp, int Id_Cd, int Id_Ord, DateTime fechaOrden, string Ord_EstatusStr) { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; //Consulta encabezado de la orden de compra OrdenCompra ordCompra = new OrdenCompra(); ordCompra.Id_Emp = Id_Emp; ordCompra.Id_Cd = Id_Cd; ordCompra.Id_Ord = Id_Ord; new CN_CapOrdenCompra().ConsultaOrdenCompra(ref ordCompra, sesion.Emp_Cnx); //Consulta detalle de la orden de compra List <OrdenCompraDet> listaOrdCompraDet = new List <OrdenCompraDet>(); OrdenCompraDet ordenCompraDet = new OrdenCompraDet(); ordenCompraDet.Id_Emp = Id_Emp; ordenCompraDet.Id_Cd = Id_Cd; ordenCompraDet.Id_Ord = Id_Ord; new CN_CapOrdenCompraDet().ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, sesion.Emp_Cnx, ref listaOrdCompraDet); //Consulta centro de distribución CentroDistribucion Cd = new CentroDistribucion(); new CN_CatCentroDistribucion().ConsultarCentroDistribucion(ref Cd, ordCompra.Id_Cd, ordCompra.Id_Emp, sesion.Emp_Cnx); StringBuilder XML_Enviar = new StringBuilder(); XML_Enviar.Append("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); XML_Enviar.Append("<OrdenCompra"); XML_Enviar.Append(" fecha=\"\""); XML_Enviar.Append(" ocnumsian=\"\""); XML_Enviar.Append(" oczonnumsian=\"\" >"); XML_Enviar.Append(" <Encabezado"); XML_Enviar.Append(" ocnumsian=\"\""); XML_Enviar.Append(" oczonnumsian=\"\""); XML_Enviar.Append(" octransian=\"\""); XML_Enviar.Append(" ocinvsian=\"\""); XML_Enviar.Append(" octotalsian=\"\""); XML_Enviar.Append(" oczoncpsian=\"\""); XML_Enviar.Append(" oczonlnum=\"\""); XML_Enviar.Append(" oczonedo=\"\""); XML_Enviar.Append(" oczoncd=\"\""); XML_Enviar.Append(" oczoncolsian=\"\""); XML_Enviar.Append(" oczoncallesian=\"\""); XML_Enviar.Append(" ocusunommacola=\"\""); XML_Enviar.Append(" ocusunummacola=\"\""); XML_Enviar.Append(" ocfechamacola=\"\""); XML_Enviar.Append(" ocfechasian=\"\""); XML_Enviar.Append(" ocusunomsian=\"\""); XML_Enviar.Append(" ocusunumsian=\"\""); XML_Enviar.Append(" oczondescsian=\"\"/>"); XML_Enviar.Append("<Detalle>"); var importe = 0.0; //PARTIDA DETALLE if (listaOrdCompraDet.Count() > 0) { foreach (OrdenCompraDet ocd in listaOrdCompraDet) { importe = Math.Round(ocd.Ord_Cantidad * ocd.ProductoPrecio.Prd_Pesos, 2); XML_Enviar.Append(" <Partida"); XML_Enviar.Append(" ocnumsian=\"" + ocd.Id_Ord + "\""); XML_Enviar.Append(" oczonnumsian=\"" + ocd.Id_Cd + "\""); XML_Enviar.Append(" ocimportesian=\"" + importe + "\""); XML_Enviar.Append(" occantidadsian=\"" + ocd.Ord_Cantidad + "\""); XML_Enviar.Append(" ocprocostosian=\"" + ocd.ProductoPrecio.Prd_Pesos + "\""); XML_Enviar.Append(" ocprounidadsian=\"" + ocd.Producto.Prd_UniNe + "\""); XML_Enviar.Append(" ocpropresensian=\"" + ocd.Producto.Prd_Presentacion + "\""); XML_Enviar.Append(" ocprodescsian=\"" + ocd.Producto.Prd_Descripcion.ToString().Replace("\"", "").Replace("'", "").Replace("&", "") + "\""); XML_Enviar.Append(" ocpronumsian=\"" + ocd.Id_Prd + "\""); XML_Enviar.Append(" />"); } } XML_Enviar.Append(" </Detalle>"); XML_Enviar.Append(" </OrdenCompra>"); XmlDocument xml = new XmlDocument(); xml.LoadXml(XML_Enviar.ToString()); XmlNode OrdenCompra = xml.SelectSingleNode("OrdenCompra"); OrdenCompra.Attributes["fecha"].Value = string.Format("{0:s}", ordCompra.Ord_Fecha); OrdenCompra.Attributes["ocnumsian"].Value = ordCompra.Id_Ord.ToString(); OrdenCompra.Attributes["oczonnumsian"].Value = ordCompra.Id_Cd.ToString(); XmlNode Cabecera = OrdenCompra.SelectSingleNode("Encabezado"); Cabecera.Attributes["ocnumsian"].Value = ordCompra.Id_Ord.ToString(); Cabecera.Attributes["oczonnumsian"].Value = Cd.Id_Cd.ToString(); Cabecera.Attributes["octransian"].Value = Cd.Cd_NumMacola != null?Cd.Cd_NumMacola.ToString() : Cd.Id_Cd.ToString(); Cabecera.Attributes["ocinvsian"].Value = ordCompra.Id_Ord.ToString(); Cabecera.Attributes["octotalsian"].Value = "0"; Cabecera.Attributes["oczoncpsian"].Value = Cd.Cd_CP.ToString(); Cabecera.Attributes["oczonlnum"].Value = Cd.Cd_Numero.ToString(); Cabecera.Attributes["oczonedo"].Value = Cd.Cd_Descripcion; Cabecera.Attributes["oczoncd"].Value = Cd.Cd_Descripcion.ToString(); Cabecera.Attributes["oczoncolsian"].Value = Cd.Cd_Colonia.ToString(); Cabecera.Attributes["oczoncallesian"].Value = Cd.Cd_Calle.ToString(); Cabecera.Attributes["ocusunommacola"].Value = "100"; Cabecera.Attributes["ocusunummacola"].Value = "0"; Cabecera.Attributes["ocfechamacola"].Value = string.Format("{0:s}", ordCompra.Ord_Fecha);; Cabecera.Attributes["ocfechasian"].Value = string.Format("{0:s}", ordCompra.Ord_Fecha);; Cabecera.Attributes["ocusunomsian"].Value = Cd.Cd_Descripcion.ToString(); Cabecera.Attributes["ocusunumsian"].Value = ordCompra.Id_Pvd.ToString(); Cabecera.Attributes["oczondescsian"].Value = Cd.Cd_Descripcion.ToString(); StringWriter sw = new StringWriter(); XmlTextWriter tx = new XmlTextWriter(sw); xml.WriteTo(tx); string xmlString = sw.ToString(); //throw new Exception(sw.ToString()); XmlDocument xmlOrdenCompra = new XmlDocument(); OrdendeCompra.Service1 sianEnvioOrdendeCompra = new OrdendeCompra.Service1(); object sianEnvioOrdendeCompraResult = sianEnvioOrdendeCompra.OrdenCompra(xmlString); // xmlOrdenCompra.LoadXml(sianEnvioOrdendeCompraResult.ToString()); int verificador = 0; ordCompra.Id_Emp = Id_Emp; ordCompra.Id_Cd = Id_Cd; ordCompra.Id_Ord = Id_Ord; ordCompra.Ord_Estatus = "I"; new CN_CapOrdenCompra().ModificarOrdenCompra_Estatus(ordCompra, sesion.Emp_Cnx, ref verificador); try { ordCompra.Ord_EstatusEmision = Convert.ToInt32(sianEnvioOrdendeCompraResult); } catch (FormatException e) { ordCompra.Ord_EstatusEmision = 5; } ordCompra.Ord_EstatusEmisionStr = getEstatusEmision(ordCompra.Ord_EstatusEmision); new CN_CapOrdenCompra().ModificarOrdenCompra_EstatusEmision(ordCompra, sesion.Emp_Cnx, ref verificador); Alerta(getEstatusEmision(ordCompra.Ord_EstatusEmision)); if (ordCompra.Ord_EstatusEmision == 1) { this.OrdenCompra_Impresion(Id_Emp, Id_Cd, Id_Ord, fechaOrden, Ord_EstatusStr); } // RAM1.ResponseScripts.Add("Alert('" + sianEnvioOrdendeCompraResult.ToString() + "')"); } catch (Exception ex) { this.EnviaEmail(ex.ToString()); throw ex; } }
private List <string> OrdenCompra_CrearURL_EnvioInternet(int Id_Emp, int Id_Cd, int Id_Ord) { try { Sesion sesion = (Sesion)Session["Sesion" + Session.SessionID]; //Consulta encabezado de la orden de compra OrdenCompra ordCompra = new OrdenCompra(); ordCompra.Id_Emp = Id_Emp; ordCompra.Id_Cd = Id_Cd; ordCompra.Id_Ord = Id_Ord; new CN_CapOrdenCompra().ConsultaOrdenCompra(ref ordCompra, sesion.Emp_Cnx); //Consulta detalle de la orden de compra List <OrdenCompraDet> listaOrdCompraDet = new List <OrdenCompraDet>(); OrdenCompraDet ordenCompraDet = new OrdenCompraDet(); ordenCompraDet.Id_Emp = Id_Emp; ordenCompraDet.Id_Cd = Id_Cd; ordenCompraDet.Id_Ord = Id_Ord; new CN_CapOrdenCompraDet().ConsultaOrdenCompraDetalle_Lista(ordenCompraDet, sesion.Emp_Cnx, ref listaOrdCompraDet); //Consulta centro de distribución CentroDistribucion Cd = new CentroDistribucion(); new CN_CatCentroDistribucion().ConsultarCentroDistribucion(ref Cd, ordCompra.Id_Cd, ordCompra.Id_Emp, sesion.Emp_Cnx); //construir URL List <string> arregloURL = new List <string>(); System.Text.StringBuilder URL = new System.Text.StringBuilder(); foreach (OrdenCompraDet ordComDet in listaOrdCompraDet) { URL.Clear(); URL.Append(string.Concat("http://148.244.244.141/oc/SubeDetalleOC.asp?oczonnumsian=", Cd.Id_Cd.ToString())); URL.Append(string.Concat("&ocnumsian=", ordCompra.Id_Ord.ToString())); URL.Append(string.Concat("&ocpronumsian=", ordComDet.Producto.Id_Prd)); URL.Append(string.Concat("&ocprodescsian=", ordComDet.Producto.Prd_Descripcion)); URL.Append(string.Concat("&ocpropresensian=", ordComDet.Producto.Prd_Presentacion)); URL.Append(string.Concat("&ocprounidadsian=", ordComDet.Producto.Prd_UniNe)); URL.Append(string.Concat("&ocprocostosian=", ordComDet.ProductoPrecio.Prd_Pesos.ToString())); URL.Append(string.Concat("&ocantidadsian=", ordComDet.Ord_Cantidad.ToString())); URL.Append(string.Concat("&ocimportesian=", (ordComDet.Ord_Cantidad * ordComDet.ProductoPrecio.Prd_Pesos).ToString())); arregloURL.Add(URL.ToString()); } //Crear URL de datos de encabezado URL.Clear(); URL.Append(string.Concat("http://148.244.244.141/oc/SubeFinalSuc.asp?oczonnumsian=", Cd.Id_Cd.ToString())); URL.Append(string.Concat("&oczondescsian=", Cd.Cd_Descripcion)); URL.Append(string.Concat("&ocnumsian=", ordCompra.Id_Ord.ToString())); URL.Append(string.Concat("&ocusunumsian=", Cd.Cd_NumMacola != null ? Cd.Cd_NumMacola.ToString() : "0")); //"27868" URL.Append(string.Concat("&ocusunomsian=", Cd.Cd_Descripcion)); URL.Append(string.Concat("&oczoncallesian=", Cd.Cd_Calle)); URL.Append(string.Concat("&oczoncolsian=", Cd.Cd_Colonia)); URL.Append(string.Concat("&oczoncd=", Cd.Cd_Ciudad)); URL.Append(string.Concat("&oczonedo=", Cd.Cd_Estado)); URL.Append(string.Concat("&oczonlnum=", Cd.Cd_Numero)); URL.Append(string.Concat("&oczoncpsian=", Cd.Cd_CP)); URL.Append(string.Concat("&octotalsian=0")); URL.Append(string.Concat("&ocinvsian=0")); URL.Append(string.Concat("&octransian=0")); arregloURL.Add(URL.ToString()); return(arregloURL); } catch (Exception ex) { throw ex; } }