public AgregarProductosPedidos3(int idOrde, IngresarRecepcion_AD ingresarRecepcion, int idProducto, int cantidad, int valorUni, int valorTot, int index)
 {
     try
     {
         InitializeComponent();
         OrdenPedidoDAL  orden = new OrdenPedidoDAL();
         OrdenPedidoVIEW datos = orden.CargarOrdenPedido(idOrde);
         IdProveedor        = datos.PROVEEDOR_ID;
         IdSucursal         = datos.SUCURSAL_ID;
         _IngresarRecepcion = ingresarRecepcion;
         CargarCombos();
         cbxProducto.SelectedValue = idProducto;
         txtValorUni.Text          = valorUni.ToString();
         txtCantidad.Text          = cantidad.ToString();
         Index = index;
         btnAgregarProd.Visibility      = Visibility.Hidden;
         btnAgregarProd.IsEnabled       = false;
         btnAgregarProd_Copy.Visibility = Visibility.Visible;
         btnAgregarProd_Copy.IsEnabled  = true;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public AgregarProductosPedidos3(int idOrde, IngresarRecepcion_AD ingresarRecepcion)
        {
            InitializeComponent();
            OrdenPedidoDAL  orden = new OrdenPedidoDAL();
            OrdenPedidoVIEW datos = orden.CargarOrdenPedido(idOrde);

            IdProveedor        = datos.PROVEEDOR_ID;
            IdSucursal         = datos.SUCURSAL_ID;
            _IngresarRecepcion = ingresarRecepcion;
            CargarCombos();
        }
Exemplo n.º 3
0
        private void CargarOrdenPedido(DataRow dataRow)
        {
            int            idOrden        = int.Parse(dataRow["ID"].ToString());
            OrdenPedidoNEG ordenPedidoNEG = new OrdenPedidoNEG();

            ordenPedidoCarga = ordenPedidoNEG.CargarOrdenPedido(idOrden);
            if (ordenPedidoCarga.ESTADO_ORDEN_PEDIDO_ID == 3 || ordenPedidoCarga.ESTADO_ORDEN_PEDIDO_ID == 4)
            {
                btnAgregaProducto.IsEnabled = false;
                btnQuitarProducto.IsEnabled = false;
                btnEnviar.IsEnabled         = false;
                btnRechazar.IsEnabled       = false;
                btnEliminar.IsEnabled       = false;
            }
        }
Exemplo n.º 4
0
        private void CargarFormulario(OrdenPedidoVIEW data)
        {
            lblIdOrdenPedido.Content      = data.ID.ToString();
            txtFolio.Text                 = dataRow["FOLIO"].ToString();
            txtproveedor.Text             = data.PROVEEDOR;
            txtRutProveedor.Text          = dataRow["RUT PROVEEDOR"].ToString();
            dpkFechaCreacion.SelectedDate = data.FECHA_CREACION;
            txtSucursal.Text              = data.SUCURSAL;
            SucursalNEG sucursalNEG = new SucursalNEG();
            var         datos       = sucursalNEG.CargarSucursal(data.SUCURSAL_ID);

            txtDireccion.Text         = datos.DIRECCION;
            txtTelFijo.Text           = datos.NUMERO_TELEFONO.ToString();
            txtEmailSucursal.Text     = data.EMAIL_SUCURSAL.ToString();
            cbxMoneda.SelectedValue   = data.MULTI_MONEDA_ID;
            cbxEmpleado.SelectedValue = data.EMPLEADO_ID;
            txtEmailProveedor.Text    = data.EMAIL_PROVEEDOR;

            int          empleado     = int.Parse(cbxEmpleado.SelectedValue.ToString());
            EmpleadosNEG empleadosNEG = new EmpleadosNEG();
            var          datos1       = empleadosNEG.CargarEmpleado(empleado);

            txtNombreEmpleado.Text = datos1.NOMBRE + " " + datos1.APELLIDO;

            DetalleOrdenPedidoNEG       detalleOrdenPedidoNEG = new DetalleOrdenPedidoNEG();
            List <DETALLE_ORDEN_PEDIDO> listaDetalle          = detalleOrdenPedidoNEG.CargarlistaDetalleOrden(data.ID);

            foreach (var fila in listaDetalle)
            {
                AgregarItemTablaProductos(fila.PRODUCTO_ID, fila.NOMBRE_PRODUCTO, int.Parse(fila.CANTIDAD.ToString()), Convert.ToDecimal(fila.PRECIO_COMPRA), Convert.ToDecimal(fila.MONTO_TOTAL));
            }

            int            moneda         = int.Parse(cbxMoneda.SelectedValue.ToString());
            MultiMonedaNEG multiMonedaNEG = new MultiMonedaNEG();
            var            datos2         = multiMonedaNEG.CargarMultiMoneda(moneda);
            decimal        valorMoneda    = Convert.ToDecimal(datos2.MONTO);
            decimal        costoCLP       = Convert.ToDecimal(txtCostoTotal.Text);

            txtCostoMoneda.Text = string.Format("{0:n2}", (Math.Truncate((costoCLP / valorMoneda))));
        }
Exemplo n.º 5
0
        private void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (cbxFolio.SelectedValue != null)
                {
                    string motivo   = txtMotivo.Text;
                    string emailPro = txtEmailProveedor.Text;
                    string emailSuc = txtEmailSucursal.Text;
                    if (motivo.Trim().Length >= 10)
                    {
                        if (emailPro.Trim().Length >= 5)
                        {
                            if (emailSuc.Trim().Length >= 5)
                            {
                                MessageBox.Show("Espere mientras el documento es generado. Presione 'Aceptar' para comenzar");
                                int    idFolio = int.Parse(cbxFolio.SelectedValue.ToString());
                                string folio   = idFolio.ToString();
                                for (int i = 0; i < 9; i++)
                                {
                                    if (folio.Length < 8)
                                    {
                                        folio = "0" + folio;
                                    }
                                }
                                ExportarArchivos      pdf                   = new ExportarArchivos();
                                PDF_ModeloDevolucion  modelo                = new PDF_ModeloDevolucion();
                                OrdenPedidoNEG        ordenPedidoNEG        = new OrdenPedidoNEG();
                                OrdenPedidoVIEW       orden                 = new OrdenPedidoVIEW();
                                DetalleOrdenPedidoNEG detalleOrdenPedidoNEG = new DetalleOrdenPedidoNEG();
                                orden                     = ordenPedidoNEG.CargarOrdenPedido(idFolio);
                                modelo.Sucursal           = orden.SUCURSAL;
                                modelo.Folio              = folio;
                                modelo.NombreProveedor    = orden.PROVEEDOR;
                                modelo.RolProveedor       = orden.NUMID_PROVEEDOR + "-" + orden.DIVID_PROVEEDOR;
                                modelo.Motivo             = motivo;
                                modelo.EmailProveedor     = emailPro;
                                modelo.EmailSucursal      = emailSuc;
                                modelo.DetalleOrdenPedido = detalleOrdenPedidoNEG.CargarlistaDetalleOrden(idFolio);

                                ServerCorreo abrir_server = new ServerCorreo();
                                Correo       correoM      = new Correo();
                                //parametriza el servidor STMP para enviar el correo
                                SmtpClient server = abrir_server.InstanciaServer();

                                string respuesta = pdf.DevolucionPedidoPDF(modelo);

                                //Instancia la libreria que permite armar correo electronico y llama el metodo que lo crea
                                MailMessage email = correoM.CorreoDevolucionPedido(respuesta, emailSuc, emailPro, modelo.NombreProveedor, folio, motivo);
                                //envia el correo
                                server.Send(email);


                                MessageBox.Show("El documento se genero correctamente. Ubíquelo en 'Mis Documentos'");
                            }
                            else
                            {
                                MessageBox.Show("Debe indicar un correo de la sucursal");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Debe indicar un correo del proveedor");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe indicar un motivo de la menos 10 caracteres");
                    }
                }
                else
                {
                    MessageBox.Show("Debe seleccionar solo una fila");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }
Exemplo n.º 6
0
        public string ActualizarOrdenPedido(OrdenPedidoVIEW ordenPedidCarga, int proveedor, int sucursal, string emailSucursal, int tipoMultimoneda, int empleado, string emailProveedor, DateTime fechaActualizacion, DataTable tabla)
        {
            try
            {
                if (emailProveedor.Trim().Length > 4)
                {
                    if (tabla.Rows.Count > 0)
                    {
                        if (tipoMultimoneda > -1)
                        {
                            if (empleado > -1)
                            {
                                if (emailSucursal.Trim().Length > 4)
                                {
                                    ORDEN_PEDIDO orden = new ORDEN_PEDIDO();
                                    List <DETALLE_ORDEN_PEDIDO> detalleOrden = new List <DETALLE_ORDEN_PEDIDO>();
                                    OrdenPedidoDAL ordenPedidoDAL            = new OrdenPedidoDAL();

                                    orden.FECHA_ULTIMO_UPDATE = fechaActualizacion;
                                    decimal montoTotal    = 0;
                                    int     cantidadTotal = 0;

                                    foreach (DataRow fila in tabla.Rows)
                                    {
                                        DETALLE_ORDEN_PEDIDO detalle = new DETALLE_ORDEN_PEDIDO();
                                        detalle.FECHA_CREACION      = DateTime.Now;
                                        detalle.FECHA_ULTIMO_UPDATE = DateTime.Now;
                                        detalle.CANTIDAD            = int.Parse(fila.ItemArray[2].ToString());
                                        detalle.MONTO_TOTAL         = Decimal.Parse(fila.ItemArray[4].ToString());
                                        detalle.NOMBRE_PRODUCTO     = fila.ItemArray[1].ToString();
                                        detalle.PRECIO_COMPRA       = Decimal.Parse(fila.ItemArray[3].ToString());
                                        detalle.MULTI_MONEDA_ID     = tipoMultimoneda;
                                        detalle.PRODUCTO_ID         = int.Parse(fila.ItemArray[0].ToString());
                                        detalleOrden.Add(detalle);

                                        montoTotal    = montoTotal + Decimal.Parse(fila.ItemArray[4].ToString());
                                        cantidadTotal = cantidadTotal + int.Parse(fila.ItemArray[2].ToString());
                                    }

                                    orden.ID                     = ordenPedidCarga.ID;
                                    orden.CANTIDAD_TOTAL         = cantidadTotal;
                                    orden.MONTO_TOTAL            = montoTotal;
                                    orden.EMPLEADO_ID            = empleado;
                                    orden.ESTADO_ORDEN_PEDIDO_ID = ordenPedidCarga.ESTADO_ORDEN_PEDIDO_ID;
                                    orden.MULTI_MONEDA_ID        = tipoMultimoneda;
                                    orden.EMAIL_PROVEEDOR        = emailProveedor;
                                    orden.EMAIL_SUCURSAL         = emailSucursal;
                                    return(ordenPedidoDAL.ActualizarOrdenPedido(orden, detalleOrden));
                                }
                                else
                                {
                                    return("Debe email de la sucursal para enviar una copia del pedido");
                                }
                            }
                            else
                            {
                                return("Debe indicar un empleado responsable");
                            }
                        }
                        else
                        {
                            return("Debe indicar un tipo de moneda");
                        }
                    }
                    else
                    {
                        return("Debe agregar productos para solicitarlos");
                    }
                }
                else
                {
                    return("Debe indicar email del proveedor para enviar el pedido");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public string InsertarControlRecepcion(string comentario, DateTime fechaRececpion, int empleado, int estado, int orden, DataTable tabla)
        {
            try
            {
                CONTROL_RECEPCION control = new CONTROL_RECEPCION();
                List <DETALLE_CONTROL_RECEPCION> detalleControl = new List <DETALLE_CONTROL_RECEPCION>();
                OrdenPedidoDAL      ordenPedidoDAL      = new OrdenPedidoDAL();
                OrdenPedidoVIEW     ordenPedidoVIEW     = new OrdenPedidoVIEW();
                ControlRecepcionDAL controlRecepcionDAL = new ControlRecepcionDAL();
                if (orden > -1)
                {
                    if (empleado > -1)
                    {
                        if (estado > -1)
                        {
                            if (tabla.Rows.Count > 0)
                            {
                                ordenPedidoVIEW = ordenPedidoDAL.CargarOrdenPedido(orden);

                                control.FECHA_CREACION              = DateTime.Now;
                                control.FECHA_ULTIMO_UPDATE         = DateTime.Now;
                                control.COMENTARIO                  = comentario;
                                control.FECHA_APROVACION            = ordenPedidoVIEW.FECHA_ULTIMO_UPDATE;
                                control.FECHA_RECEPCION             = fechaRececpion;
                                control.EMPLEADO_ID                 = empleado;
                                control.ESTADO_CONTROL_RECEPCION_ID = estado;
                                control.ORDEN_PEDIDO_ID             = orden;

                                foreach (DataRow fila in tabla.Rows)
                                {
                                    DETALLE_CONTROL_RECEPCION detalle = new DETALLE_CONTROL_RECEPCION();
                                    detalle.FECHA_CREACION      = DateTime.Now;
                                    detalle.FECHA_ULTIMO_UPDATE = DateTime.Now;
                                    detalle.CANTIDAD_INGRESADA  = int.Parse(fila.ItemArray[2].ToString());
                                    detalle.CANTIDAD_TOTAL      = int.Parse(fila.ItemArray[2].ToString());
                                    detalle.NOMBRE_PRODUCTO     = fila.ItemArray[1].ToString();
                                    detalle.PRECIO_COMPRA       = Decimal.Parse(fila.ItemArray[3].ToString());
                                    detalle.ESTADO_RECEPCION_ID = estado;
                                    detalle.MULTI_MONEDA_ID     = ordenPedidoVIEW.MULTI_MONEDA_ID;
                                    detalle.PRODUCTO_ID         = int.Parse(fila.ItemArray[0].ToString());
                                    detalle.ESTADO_RECEPCION_ID = 1;
                                    detalleControl.Add(detalle);
                                }

                                return(controlRecepcionDAL.IgresarControlRececpion(control, detalleControl));
                            }
                            else
                            {
                                return("Debe indicar los productos recepcionados");
                            }
                        }
                        else
                        {
                            return("Debe indicar el estado de conformmidad");
                        }
                    }
                    else
                    {
                        return("Debe indicar un empelado responsable");
                    }
                }
                else
                {
                    return("Debe indicar un folio de orden de pedido");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }