public void Alta(NOTA_CREDITO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.NOTA_CREDITO.AddObject(objeto);
         ctx.SaveChanges();
     }
 }
 public void Modificacion(NOTA_CREDITO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.NOTA_CREDITO.Attach(objeto);
         ctx.ObjectStateManager.ChangeObjectState(objeto, System.Data.EntityState.Modified);
         ctx.SaveChanges();
     }
 }
 public NOTA_CREDITO AltaConRetorno(NOTA_CREDITO objeto)
 {
     using (SIST_SUPERMERCADOEntities ctx = SIST_SUPERMERCADOEntities.ObtenerInstancia())
     {
         ctx.NOTA_CREDITO.AddObject(objeto);
         ctx.SaveChanges();
         return ObtenerPorID(objeto.NOT_ID);
     }
 }
        public frmNOTACREDITO(NOTA_CREDITO oNOTACREDITO, decimal TotalVta1, string formulario, EntidadMultiple entidad)
        {
            InitializeComponent();

            frmViene = formulario;
            totalVta = TotalVta1;
            EntidadMulti = entidad;
            oNOTA_CREDITO = oNOTACREDITO;
        }
        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;
            }
        }
 /// <summary>
 /// Método desusado para agregar un nuevo objeto al EntitySet NOTA_CREDITO. Considere la posibilidad de usar el método .Add de la propiedad ObjectSet&lt;T&gt; asociada.
 /// </summary>
 public void AddToNOTA_CREDITO(NOTA_CREDITO nOTA_CREDITO)
 {
     base.AddObject("NOTA_CREDITO", nOTA_CREDITO);
 }
 /// <summary>
 /// Crear un nuevo objeto NOTA_CREDITO.
 /// </summary>
 /// <param name="nOT_ID">Valor inicial de la propiedad NOT_ID.</param>
 public static NOTA_CREDITO CreateNOTA_CREDITO(global::System.Int32 nOT_ID)
 {
     NOTA_CREDITO nOTA_CREDITO = new NOTA_CREDITO();
     nOTA_CREDITO.NOT_ID = nOT_ID;
     return nOTA_CREDITO;
 }
 public static frmNOTACREDITO ObtenerInstancia(NOTA_CREDITO oNOTACREDITO, decimal TotalVta1, string formulario, EntidadMultiple entidad)
 {
     if (_instancia == null) _instancia = new frmNOTACREDITO(oNOTACREDITO, TotalVta1, formulario, entidad);
     if (_instancia.IsDisposed) _instancia = new frmNOTACREDITO(oNOTACREDITO, TotalVta1, formulario, entidad);
     return _instancia;
 }
 public void Modificacion(NOTA_CREDITO entidad)
 {
     mNOTA_CREDITO.Modificacion(entidad);
 }
 //public void BajaLogica(NOTA_CREDITO entidad)
 //{
 //    entidad.CLI_ESTADO = false;
 //    mNOTA_CREDITO.Modificacion();
 //}
 public void BajaFisica(NOTA_CREDITO entidad)
 {
     mNOTA_CREDITO.Baja(entidad);
 }
 public NOTA_CREDITO AltaConRetorno(NOTA_CREDITO entidad)
 {
     return mNOTA_CREDITO.AltaConRetorno(entidad);
 }
 public void Alta(NOTA_CREDITO entidad)
 {
     mNOTA_CREDITO.Alta(entidad);
 }