public void Enviar(OrdenCompra o) { string numOC = "OC-" + 1000000 + o.IdOrden; GenerarPDF pdf = new GenerarPDF(); Correo c = new Correo(); //[email protected] string path = "\\" + numOC + ".pdf"; string body = formato(o).ToString(); string msg = "<html><body>Estimados :<br> Se adjunta la Orden de compra , Atenderla porfavor. <br>Saludos.<br>MadeInHouse <br>Seccion Compras </body></html>"; ; pdf.createPDF(body, path, false); c.EnviarCorreo("ORDEN DE COMPRA AL " + DateTime.Now.ToString(), o.Proveedor.Email, msg, Environment.CurrentDirectory + path); pdf.Borrar(Environment.CurrentDirectory + path); }
public generarOrdenCompraViewModel(OrdenCompra o,BuscarOrdenCompraViewModel model) { Lst = o.LstProducto; CodOrden = o.CodOrdenCompra; FechaAtencion = o.FechaSinAtencion; Observaciones = o.Observaciones; this.model = model; EstadoSelected = o.MedioPago; Prov = o.Proveedor; BuscarDispo = false; idOrden = o.IdOrden; esNuevo = false; estado= o.Estado; if (estado == 1) { EsEditable = true; }; if(estado == 0 ) { esGuardable = false;} }
public void SelectedItemChanged(object sender) { ordenComprarepSeleccionado = ((sender as DataGrid).SelectedItem as OrdenCompra); }
public bool Validar(OrdenCompra o) { if (String.IsNullOrEmpty(o.Observaciones)) { MessageBox.Show( "El campo se encuentra vacio,Corregir..","AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (o.Proveedor == null) { MessageBox.Show( "No ha Seleccionado un proveedor..","AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (o.LstProducto.Count == 0) { MessageBox.Show("Ingrese algún producto..", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (o.Estado == 3) { MessageBox.Show("No se puede editar Ordenes de compras ATENDIDAS.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } foreach (ProductoxOrdenCompra oc in o.LstProducto) { Evaluador e = new Evaluador(); if (String.IsNullOrEmpty(oc.Cantidad)) { MessageBox.Show("Hay cantidades que se encuentran vacias,Corregir..", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (!e.esNumeroEntero(oc.Cantidad)) { MessageBox.Show("No se puede ingresar valores que no sean números en cantidad", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (!e.esPositivo(Convert.ToInt32(oc.Cantidad))) { MessageBox.Show("No se puede ingresar valores negativos en cantidad", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if ((Convert.ToInt32(oc.Cantidad)) == 0) { MessageBox.Show("No se puede ingresar 0 como cantidad", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } if (oc.CantAtendida > Convert.ToInt32(oc.Cantidad)) { MessageBox.Show("La cantidad emitida no puede ser menor a la cantidad Atendida", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; } } return true; }
public void GuardarBorrador() { OrdenCompra o = new OrdenCompra(); o.IdOrden = idOrden; o.IdAlmacen = 4; o.LstProducto = Lst; o.MedioPago = EstadoSelected; o.Observaciones = Observaciones; o.FechaSinAtencion = FechaAtencion; o.Proveedor = Prov; if (Validar(o)) { OrdenCompraSQL oSQL = new OrdenCompraSQL(); OrdenCompraxProductoSQL opSQL = new OrdenCompraxProductoSQL(); if (esNuevo) { DialogResult result = MessageBox.Show("Está cerrando el Mantenimiento de Orden de compra , desea guardar en BORRADOR ? ", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { o.Estado = 1; oSQL.Agregar(o); int id = new UtilesSQL().ObtenerMaximoID("OrdenCompra", "idOrden"); foreach (ProductoxOrdenCompra oc in o.LstProducto) { oc.IdOrden = id; opSQL.Agregar(oc); } MessageBox.Show("Se guardó la Orden de compra en BORRADOR", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); if (model != null) { model.Buscar(); } this.TryClose(); } } } }
public void Guardar() { OrdenCompra o = new OrdenCompra(); o.IdOrden = idOrden; o.IdAlmacen = 4; o.LstProducto = Lst; o.MedioPago = EstadoSelected; o.Observaciones = Observaciones; o.FechaSinAtencion = FechaAtencion; o.Proveedor = Prov; if (Validar(o)) { OrdenCompraSQL oSQL = new OrdenCompraSQL(); OrdenCompraxProductoSQL opSQL = new OrdenCompraxProductoSQL(); if (esNuevo) { o.Estado = 2; oSQL.Agregar(o); int id = new UtilesSQL().ObtenerMaximoID("OrdenCompra", "idOrden"); foreach (ProductoxOrdenCompra oc in o.LstProducto) { oc.IdOrden = id; opSQL.Agregar(oc); } MessageBox.Show("Se Generó Exitosamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); if (model != null) { model.Buscar(); } this.TryClose(); } else { o.Estado = estado; oSQL.Actualizar(o); if (o.Estado == 1) { opSQL.Eliminar(o); foreach (ProductoxOrdenCompra oc in o.LstProducto) { oc.IdOrden = idOrden; opSQL.Agregar(oc); } DialogResult result = MessageBox.Show("Está trabajando con un BORRADOR , desea EMITIRLO? ", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { o.Estado = 2; oSQL.Actualizar(o); MessageBox.Show("Se EMITIÓ adecuadamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { foreach (ProductoxOrdenCompra oc in o.LstProducto) { oc.IdOrden = idOrden; opSQL.Actualizar(oc); MessageBox.Show("Se Editó adecuadamente la Orden de Compra", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Information); } } if (model != null) { model.Buscar(); } this.TryClose(); } } }
public void SelectedItemChanged() { ordenSeleccionada = OrdenSelected; if (r != null) { ordenSeleccionada.LstProducto = new OrdenCompraxProductoSQL().Buscar(ordenSeleccionada.IdOrden) as List<ProductoxOrdenCompra>; r.Ord = ordenSeleccionada; TryClose(); } }
public string formato(OrdenCompra O) { OrdenCompraSQL osql = new OrdenCompraSQL(); Almacenes a = osql.getAlmacenCentral(); string numOC = "OC-" + 1000000 + O.IdOrden; string content = @"<HTML><BODY>"; content += "<p align='center'> MadeInHouse S.A. <br><br> "; content += " Ruc. 99999999999 <br><br> "; content += " Av. Priority N° xxx - San Miguel - Lima<br><br>"; content += " Telf: 999-9999<br><br"; content += " www.MadeInHouse.com Email: [email protected]<br><br>"; content += "ORDEN DE COMPRA Nro "+ numOC+" </p><br><br>"; content += "<br><br>"; content += "Proveedor : " + O.Proveedor.RazonSocial+"<br><br>"; content += "Fecha de pedido : " + O.FechaSinAtencion.ToString()+ "<br><br>"; content += "Terminos de entrega : Entrega en Almacen central de la Empresa <br><br>"; content += "Lugar de entrega : " + a.Direccion + "<br><br>"; content += "Moneda de pago : Nuevos Soles <br><br>"; content += "Telefono para contacto : " + a.Telefono + "<br><br>"; content += "Sirvase por este medio suministrar los siguientes articulos <br><br>"; content += "<table border = 1 ><tr><th>NRO</th><th>ARTICULO</th><th>PRECIO UNITARIO S/.</th>"+ "<th>CANTIDAD</th><th>PRECIO TOTAL S/.</th><tr>"; double sumaAporte = 0; int i = 1; foreach (ProductoxOrdenCompra o in O.LstProducto) { int cantidad = Convert.ToInt32(o.Cantidad); double parcial = o.PrecioUnitario*cantidad; content += "<tr><td>"+i.ToString()+"</td>"+ "<td>"+o.Producto.Nombre+"</td>"+ "<td>"+o.PrecioUnitario.ToString()+"</td>"+ "<td>"+o.Cantidad.ToString()+"</td>"+ "<td>"+ parcial.ToString()+"</td></tr>"; i++; sumaAporte += parcial; } content += "<tr><td colspan = 4 >TOTAL S/.</td><td>"+sumaAporte.ToString()+"</td> </tr></table>"; content += "<br><br>"; content += "Porfavor,Tomar en cuenta las cotizaciones respectivas a la fecha. <br><br>"; content += "Observaciones :<br><br>" + O.Observaciones ; content += "</BODY></HTML>"; return content; }
public static List<OrdenCompra> GenerarReporOrdenCompra(string codOrCom, Proveedor prov, int estado, DateTime fechaIni, DateTime fechaFin) { List<OrdenCompra> lstServ = new List<OrdenCompra>(); SqlConnection conn = new SqlConnection(Properties.Settings.Default.inf245g4ConnectionString); SqlCommand cmd = new SqlCommand(); SqlDataReader reader; String where = ""; if (!String.IsNullOrEmpty(codOrCom)) { where += " AND "; where = where + " o.codOrdenCompra = @tiendaNom "; cmd.Parameters.Add(new SqlParameter("tiendaNom", codOrCom)); } if (prov!=null) { if (!String.IsNullOrEmpty(prov.CodProveedor)) { where += " AND "; where = where + " o.idProveedor=@nombreCli "; cmd.Parameters.Add(new SqlParameter("nombreCli", prov.IdProveedor)); } } if (estado!=-1) { where += " AND "; where = where + " o.estado=@estadoo "; cmd.Parameters.Add(new SqlParameter("estadoo", estado)); } cmd.CommandText = "Select o.codOrdenCompra as codOC, o.estado as estado, o.observaciones as observaciones, o.fechaReg as fecha, p.razonSocial as razonSocial from OrdenCompra o, Proveedor p where o.idProveedor=p.idProveedor " + where; cmd.CommandType = CommandType.Text; cmd.Connection = conn; try { conn.Open(); reader = cmd.ExecuteReader(); while (reader.Read()) { OrdenCompra p = new OrdenCompra(); p.Estado = Int32.Parse(reader["estado"].ToString()); p.CodOrdenCompra = reader["codOC"].ToString(); p.FechaReg = reader["fecha"].ToString(); p.Observaciones = reader["observaciones"].ToString(); Proveedor pro = new Proveedor(); pro.RazonSocial = reader["razonSocial"].ToString(); p.Proveedor = pro; lstServ.Add(p); } conn.Close(); } catch (Exception e) { MessageBox.Show(e.StackTrace.ToString()); } return lstServ; }
public void Guardar() { OrdenCompraSQL oSQL = new OrdenCompraSQL(); OrdenCompraxProductoSQL opSQL = new OrdenCompraxProductoSQL(); UtilesSQL u = new UtilesSQL(); SolicitudAdquisicionSQL sSQL = new SolicitudAdquisicionSQL(); foreach (Proveedor p in LstProveedor){ OrdenCompra o = new OrdenCompra(idAlmacen, p, "Entregar a la brevedad posible"); o.Estado = 2; oSQL.Agregar(o); int idOrden = u.ObtenerMaximoID("OrdenCompra", "idOrden"); o.IdOrden = idOrden; foreach (Consolidado c in LstConsolidado) { if (c.Prov.IdProveedor == p.IdProveedor) { ProductoxOrdenCompra po = new ProductoxOrdenCompra(c, idOrden); opSQL.Agregar(po); o.LstProducto.Add(po); } } Enviar(o); foreach (int idSol in Solicitudes) { oSQL.relacionarOrden(idOrden, idSol); } } foreach (int idSol in Solicitudes) { sSQL.TerminarSolicitudes(idAlmacen, idSol); } MessageBox.Show( "Fueron generadas satisfactoriamente las Orden de compra","OBSERVACION", MessageBoxButton.OK, MessageBoxImage.Information); m.TryClose(); }
public object Buscar(params object[] filters) { List<OrdenCompra> lst = new List<OrdenCompra>(); DBConexion db = new DBConexion(); SqlDataReader reader; String where = ""; string codigoOrden = Convert.ToString(filters[0]); string codProv = Convert.ToString(filters[1]); int Estado = Convert.ToInt32(filters[2]); DateTime fechaIni = Convert.ToDateTime(filters[3]); DateTime fechaFin = Convert.ToDateTime(filters[4]); if (!String.IsNullOrEmpty(codigoOrden) ) { where += " and o.codOrdenCompra LIKE '%" + codigoOrden+ "%' "; } if (!String.IsNullOrEmpty(codProv)) { where += " and p.razonSocial like '%" + codProv + "%' "; } if (Estado != 4 ) { where += " and o.estado = "+ Estado; } if ((fechaIni != null) && (filters[3] != null)) { where += " and CONVERT(DATE,'" + fechaIni.ToString("yyyy-MM-dd") + "') <= CONVERT(DATE,o.fechaReg,103) "; } if ((fechaFin != null) && (filters[4] != null)) { where += " and CONVERT(DATE,'" + fechaFin.ToString("yyyy-MM-dd") + "') >= CONVERT(DATE,o.fechaReg,103) "; } // MessageBox.Show(where); db.cmd.CommandText = "SELECT o.idOrden , o.codOrdenCompra , o.idProveedor , o.fechaReg , o.fechaSinAtencion , o.observaciones , o.medioPago,o.estado "+ " FROM OrdenCompra o INNER JOIN Proveedor p "+ "ON o.idProveedor = p.idProveedor "+ "WHERE 1 = 1 "+ where + " Order by o.fechaReg Desc "; db.cmd.CommandType = CommandType.Text; db.cmd.Connection = db.conn; try { db.conn.Open(); reader = db.cmd.ExecuteReader(); while (reader.Read()) { OrdenCompra o = new OrdenCompra(); o.IdOrden = Convert.ToInt32(reader["idOrden"]); o.CodOrdenCompra = Convert.ToString(reader["codOrdenCompra"]); o.Proveedor = new ProveedorSQL().BuscarPorCodigo(Convert.ToInt32(reader["idProveedor"])); o.FechaReg = reader["fechaReg"].ToString(); o.FechaSinAtencion = reader.IsDBNull(reader.GetOrdinal("fechaSinAtencion"))?DateTime.Now:Convert.ToDateTime(reader["fechaSinAtencion"]); o.Observaciones = reader["observaciones"].ToString(); o.MedioPago = reader["medioPago"].ToString(); o.Estado = Convert.ToInt32(reader["estado"]); // o.LstProducto = new OrdenCompraxProductoSQL().Buscar(o.IdOrden) as List<ProductoxOrdenCompra>; lst.Add(o); } db.conn.Close(); } catch (SqlException e) { MessageBox.Show(e.Message); } return lst; }