public BuscarOrdenCompraViewModel(Almacen.MantenerNotaDeIngresoViewModel mantenerNotaDeIngresoViewModel, int accionVentana)
 {
     // TODO: Complete member initialization
     this.mantenerNotaDeIngresoViewModel = mantenerNotaDeIngresoViewModel;
     this.ventanaAccion = accionVentana;
     this.estado = false;
     this.selectedEstado = "EMITIDA";
        LstOrdenes= new OrdenCompraSQL().Buscar(IdOrdenCompra, RSProveedor, getEstado(SelectedEstado), FechaIni, FechaFin) as List<OrdenCompra>;
 }
 public BuscarOrdenCompraViewModel(reporteComprasViewModel reporteComprasViewModel, int accionVentana)
 {
     // TODO: Complete member initialization
     this.reporteComprasViewModel = reporteComprasViewModel;
     this.ventanaAccion = accionVentana;
     this.estado = false;
     this.selectedEstado = "EMITIDA";
     LstOrdenes = new OrdenCompraSQL().Buscar(IdOrdenCompra, RSProveedor, getEstado(SelectedEstado), FechaIni, FechaFin) as List<OrdenCompra>;
 }
        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 BuscarOrdenCompraViewModel(registrarDocumentosViewModel r)
 {
     this.r = r;
        LstOrdenes= new OrdenCompraSQL().Buscar(IdOrdenCompra, RSProveedor, getEstado(SelectedEstado), FechaIni, FechaFin) as List<OrdenCompra>;
 }
        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 void Buscar()
 {
     LstOrdenes =   new OrdenCompraSQL().Buscar(IdOrdenCompra, RSProveedor, getEstado(SelectedEstado), FechaIni, FechaFin) as List<OrdenCompra>;
 }
        public OrdenCompra getORDfromID(int idOrd)
        {
            OrdenCompraSQL eM = new OrdenCompraSQL();
            List<OrdenCompra> lstO = eM.Buscar(null, null, 4, null, null) as List<OrdenCompra>;

            for (int i = 0; i < lstO.Count; i++)
                if (lstO[i].IdOrden == idOrd)
                {
                    return lstO[i];
                }

            return null;
        }
        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();
        }