public void Alta(DEVOLUCION objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DEVOLUCION.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
 private void AbreForm(string modo, DEVOLUCION entidad)
 {
     var form = new frmDEVOLUCION(modo, entidad, eUSUARIO);
     var drResultado = form.ShowDialog();
     if (drResultado == DialogResult.OK)
     {
         LlenaGrilla();
     }
 }
 public void Modificacion(DEVOLUCION objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DEVOLUCION.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
 public DEVOLUCION AltaConRetorno(DEVOLUCION objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.DEVOLUCION.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.DEV_ID);
     }
 }
 private void btnAlta_Click(object sender, EventArgs e)
 {
     try
     {
         var entidad = new DEVOLUCION();
         AbreForm("A", entidad);
     }
     catch (Exception ex)
     {
         ProcesarExcepcion(ex);
     }
 }
        private void LlenarLineaEnGrilla()
        {
            if (LineasEnGrilla == null)
                LineasEnGrilla = new List<DETALLE_DEVOLUCION>();

            VENTA vtaTicket = null;
            if (cmbTipoComprobante.Text == Constantes.Ticket)
                vtaTicket = cVENTAS.ObtenerPorTicket(Convert.ToInt32(txtNumero.Text));

            if (cmbTipoComprobante.Text == Constantes.TicketFactura)
                vtaTicket = cVENTAS.ObtenerPorTicketFactura(Convert.ToInt32(txtNumero.Text));

            if (cmbTipoComprobante.Text == Constantes.ValeEnvase)
                vtaTicket = cVENTAS.ObtenerPorValeEnvase(Convert.ToInt32(txtNumero.Text));

            if (vtaTicket == null)
            {
                MostrarMensajeAdvertencia("No se encontro ninguna venta con ese numero ingresado.");
                Nuevo_Devolucion();
                return;
            }
            else
            {
                eVta = vtaTicket;
                if (vtaTicket.CLIENTE == null)
                    lblCliente.Text = Constantes.ConsumidorFinal;
                else
                    lblCliente.Text = vtaTicket.CLIENTE.CLI_NOMBREYAPELLIDO;

                //verifico que la venta no tenga alguna otra devolucion
                var devVenta = cDEVOLUCION.ObtenerPorVta(vtaTicket.VTA_ID);
                //si no tiene, cargo la grilla con la venta, poniendo en 0 las cantidades a devolver.
                if (devVenta == null)
                {
                    modo = "A";
                    AgregarLineasDesdeVenta(vtaTicket);
                }

                else
                {
                    modo = "M";
                    eDEVOLUCION = devVenta;
                    //si ya tiene devolucion cargo la devolucion
                    MostrarMensajeAdvertencia("La venta buscada ya tiene ingresada una devolución, se cargará la misma.");
                    var LineasEnGrillaTemporal = new List<DETALLE_DEVOLUCION>();
                    foreach (DETALLE_DEVOLUCION detalle in eDEVOLUCION.DETALLES_DEVOLUCION)
                    {
                        LineasEnGrillaTemporal.Add(detalle);
                    }

                    LineasEnGrilla = LineasEnGrillaTemporal;
                }
            }

            if (dgvGrilla.Rows.Count > 0)
            {
                dgvGrilla.CurrentCell = dgvGrilla.Rows[dgvGrilla.Rows.Count - 1].Cells[0];
            }

            LlenaLabelTotales();
        }
 private void ImprimirDEVOLUCION(DEVOLUCION eDEVOLUCION)
 {
     //TODO: hacer impresion de NC
 }
        private void btnGUARDAR_Click(object sender, EventArgs e)
        {
            try
            {
                //validar todo
                //que la suma de la cantidad devuelta y a devolver no supere a la catidad de la venta.que si es de balanza que meta la misma cantidad
                if (!ValidacionCantidades())
                {
                    return;
                }

                EsValido = true;
                if (!ValidateChildren() || !EsValido)
                {
                    DialogResult = DialogResult.None;
                    return;
                }

                using (TransactionScope TRANSACCION = new TransactionScope())
                {
                    switch (modo)
                    {
                        case "A":
                            eDEVOLUCION = new DEVOLUCION();

                            if (eVta.CLIENTE != null)
                                eDEVOLUCION.CLI_ID = eVta.CLIENTE.CLI_ID;

                            eDEVOLUCION.VTA_ID = eVta.VTA_ID;
                            eDEVOLUCION.EMP_ID = eEmpleado.EMP_ID;
                            eDEVOLUCION.DEV_FECHA = DateTime.Now;
                            eDEVOLUCION.DEV_TOTAL = Convert.ToDecimal(lblTotalNC.Text);
                            //eDEVOLUCION.PRE_DESCUENTO = Convert.ToDecimal(lblDESCUENTO.Text);

                            eDEVOLUCION = cDEVOLUCION.AltaConRetorno(eDEVOLUCION);

                            foreach (DETALLE_DEVOLUCION LineaEnGrilla in LineasEnGrilla)
                            {
                                //quito las entidades
                                LineaEnGrilla.PRODUCTO = null;
                                LineaEnGrilla.CATEGORIA_PRODUCTO = null;
                                LineaEnGrilla.ENVASE = null;

                                LineaEnGrilla.DDEV_CANTIDADDEVUELTA = LineaEnGrilla.DDEV_CANTIDADADEVOLVER;
                                LineaEnGrilla.DDEV_CANTIDADADEVOLVER = Convert.ToDecimal(0.ToString("0.000"));

                                LineaEnGrilla.DEV_ID = eDEVOLUCION.DEV_ID;
                                cDETALLE_DEVOLUCION.Alta(LineaEnGrilla);
                            }
                            break;

                        case "M":
                            //actualizar la devolucion
                            eDEVOLUCION.EMP_ID = eEmpleado.EMP_ID;
                            eDEVOLUCION.DEV_FECHA = DateTime.Now;
                            eDEVOLUCION.DEV_TOTAL = Convert.ToDecimal(lblTotalNC.Text) + eDEVOLUCION.DEV_TOTAL;
                            //eDEVOLUCION.PRE_DESCUENTO = Convert.ToDecimal(lblDESCUENTO.Text);

                            cDEVOLUCION.Modificacion(eDEVOLUCION);

                            foreach (var LineaEnGrilla in LineasEnGrilla)
                            {
                                //quito las entidades
                                LineaEnGrilla.PRODUCTO = null;
                                LineaEnGrilla.CATEGORIA_PRODUCTO = null;
                                LineaEnGrilla.ENVASE = null;

                                var cantDev = LineaEnGrilla.DDEV_CANTIDADDEVUELTA + LineaEnGrilla.DDEV_CANTIDADADEVOLVER;
                                LineaEnGrilla.DDEV_CANTIDADDEVUELTA = cantDev;
                                LineaEnGrilla.DDEV_CANTIDADADEVOLVER = Convert.ToDecimal(0.ToString("0.000"));

                                cDETALLE_DEVOLUCION.Modificacion(LineaEnGrilla);
                            }
                            break;
                    }

                    //Actualiza Stock
                    foreach (var item in LineasEnGrilla)
                    {
                        //actualiza el stock desde la tabla temporal
                        if (item.PRO_ID != null)
                        {
                            var tempStock = new TEMPORAL_STOCK
                            {
                                PRO_CANTIDAD = item.DDEV_CANTIDAD,
                                PRO_ID = (int)item.PRO_ID,
                                TEMP_FECHA = DateTime.Now
                            };

                            cTEMPORAL.AltaStock(tempStock);
                        }
                        if (item.ENV_ID != null) //es envase
                        {
                            item.ENVASE.ENV_STOCKACTUAL += (int)item.DDEV_CANTIDAD;
                            cENVASE.Modificacion(item.ENVASE);
                        }
                    }

                    MostrarMensajeInformativo("Se generara una nota de credito para la Devolucion nro: " + eDEVOLUCION.DEV_ID + ".");

                    //CREAR UNA NOTA DE CREDITO E IMPRIMIRLA
                    //DESCRIPCION TOTAL Y VENTA
                    NOTA_CREDITO eNOTA_CREDITO = new NOTA_CREDITO();
                    eNOTA_CREDITO.NOT_DESCRIPCION = txtDescripcion.Text.ToUpper();
                    eNOTA_CREDITO.NOT_TOTAL = Convert.ToDecimal(lblTotalNC.Text);
                    eNOTA_CREDITO.VTA_ID = eVta.VTA_ID;
                    cNOTA_CREDITO.Alta(eNOTA_CREDITO);

                    //MOVIMIENTO_CAJA eMOVIMIENTO_CAJA = new MOVIMIENTO_CAJA();
                    //eMOVIMIENTO_CAJA.MOVC_FECHA = dtpFecha.Value;
                    //eMOVIMIENTO_CAJA.MOVC_VALOR = Convert.ToDecimal(txtImporte.Text);
                    //eMOVIMIENTO_CAJA.TIPM_ID = (int)cmbTipoDocumento.SelectedValue;
                    //eMOVIMIENTO_CAJA.TMOV_ID = (int)cmbTipoMovimiento.SelectedValue;
                    //eMOVIMIENTO_CAJA.TIPM_NUMERO = Convert.ToInt32(txtNroDocumento.Text);
                    //eMOVIMIENTO_CAJA.MOVC_DESCRIPCION = txtDescripcion.Text;
                    //eMOVIMIENTO_CAJA.CAJ_ID = CajaPerteneciente.CAJ_ID;
                    //cMOVIMIENTO_CAJA.Alta(eMOVIMIENTO_CAJA);

                    TRANSACCION.Complete();
                }

                ImprimirDEVOLUCION(eDEVOLUCION);//Nota de Credito Y ACTUALIZAR LA NOT_NUMERO XQ LO DEVUELVE LA IMPRESORA

                this.Dispose();
            }
            catch (Exception ex)
            {
                ProcesarExcepcion(ex);
                DialogResult = DialogResult.None;
            }
        }
        private void ImprimirDEVOLUCION(DEVOLUCION eDEVOLUCION)
        {
            //*********************IMAGEN PROGRESS BAR**********************
            picProgresBar.Visible = true;
            //*******************************************************

            VISTA.DataSet1 dsDatos = new DataSet1();

            var eDATOS_EMPRESA = cDATOS_EMPRESA.ObtenerTodos().FirstOrDefault();
            eDEVOLUCION = cDEVOLUCION.ObtenerPorID(eDEVOLUCION.DEV_ID);

            foreach (var detalle in eDEVOLUCION.DETALLES_DEVOLUCION)
            {
                DataRow NuevaFila = dsDatos.Tables["DetalleDevolucion"].NewRow();
                //DATOS DE LA EMPRESA
                NuevaFila["Empresa"] = eDATOS_EMPRESA.DEMP_RAZONSOCIAL;
                NuevaFila["Cuit"] = eDATOS_EMPRESA.DEMP_CUIT;
                NuevaFila["Telefono"] = eDATOS_EMPRESA.DEMP_TELEFONO;
                NuevaFila["Domicilio"] = eDATOS_EMPRESA.DEMP_DOMICILIO;
                //DATOS DEL CLIENTE
                if (eDEVOLUCION.CLI_ID == null)
                    NuevaFila["Cliente"] = "CONSUMIDOR FINAL.";
                else
                    NuevaFila["Cliente"] = eDEVOLUCION.CLIENTE.CLI_NOMBREYAPELLIDO;

                //DATOS DEL DEVOLUCION
                NuevaFila["Fecha"] = eDEVOLUCION.DEV_FECHA.ToString();
                NuevaFila["Nro"] = eDEVOLUCION.DEV_ID.ToString();
                NuevaFila["vta"] = eDEVOLUCION.VTA_ID.ToString();
                NuevaFila["Total"] = eDEVOLUCION.DEV_TOTAL.ToString();
                NuevaFila["Empleado"] = eDEVOLUCION.EMPLEADO.EMP_APELLIDO + ", " + eDEVOLUCION.EMPLEADO.EMP_NOMBRE;

                //DETALLE DEVOLUCION
                NuevaFila["DETV_DESCRIPCION"] = detalle.DDEV_DESCRIPCION;
                NuevaFila["DETV_CANTIDAD"] = detalle.DDEV_CANTIDAD.ToString();
                NuevaFila["DDEV_CANTIDADDEVUELTA"] = detalle.DDEV_CANTIDADDEVUELTA.ToString();
                NuevaFila["DETV_PRECIOUNIDAD"] = detalle.DDEV_PRECIOUNIDAD.ToString();
                NuevaFila["DETV_TOTAL"] = detalle.DDEV_TOTAL.ToString();

                dsDatos.Tables["DetalleDevolucion"].Rows.Add(NuevaFila);
            }

            string TipoInfo = "DETALLEDEVOLUCION";
            frmINFORMES form = new frmINFORMES(dsDatos.Tables["DetalleDevolucion"], TipoInfo);
            form.Show();

            //*********************IMAGEN PROGRESS BAR**********************
            picProgresBar.Visible = false;
            //*******************************************************
        }
 /// <summary>
 /// Crear un nuevo objeto DEVOLUCION.
 /// </summary>
 /// <param name="dEV_ID">Valor inicial de la propiedad DEV_ID.</param>
 public static DEVOLUCION CreateDEVOLUCION(global::System.Int32 dEV_ID)
 {
     DEVOLUCION dEVOLUCION = new DEVOLUCION();
     dEVOLUCION.DEV_ID = dEV_ID;
     return dEVOLUCION;
 }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet DEVOLUCION. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToDEVOLUCION(DEVOLUCION dEVOLUCION)
 {
     base.AddObject("DEVOLUCION", dEVOLUCION);
 }
Example #12
0
 public void Modificacion(DEVOLUCION entidad)
 {
     mDEVOLUCION.Modificacion(entidad);
 }
Example #13
0
 //public void BajaLogica(DEVOLUCION entidad)
 //{
 //    entidad.CLI_ESTADO = false;
 //    mDEVOLUCION.Modificacion();
 //}
 public void BajaFisica(DEVOLUCION entidad)
 {
     mDEVOLUCION.Baja(entidad);
 }
Example #14
0
 public DEVOLUCION AltaConRetorno(DEVOLUCION entidad)
 {
     return mDEVOLUCION.AltaConRetorno(entidad);
 }
Example #15
0
 public void Alta(DEVOLUCION entidad)
 {
     mDEVOLUCION.Alta(entidad);
 }