private void GuardarDatos(Guid OrdenVentaId, Guid ProductoId, int año, bool nuevoDetalle)
        {
            try
            {
                OrdenVentaDetalle detalle;
                detalle              = new OrdenVentaDetalle();
                detalle.Id           = Guid.NewGuid();
                detalle.OrdenVentaId = OrdenVentaId;
                detalle.Campaña      = año;
                detalle.ProductoId   = ProductoId;
                detalle.DesdeCaja    = long.Parse(txtCajaDesde.Text);
                detalle.HastaCaja    = long.Parse(txtCajaHasta.Text);
                Context.OrdenVentaDetalle.Add(detalle);
                Context.SaveChanges();

                AsociarOVaCaja(OrdenVentaId, ProductoId, año, detalle.DesdeCaja.Value, detalle.HastaCaja.Value);
            }
            catch
            {
                throw;
            }

            if (nuevoDetalle)
            {
                IEnlaceActualizar mienlace = this.Owner as Form_AdministracionOrdenVenta;

                if (mienlace != null)
                {
                    mienlace.Enviar(true);
                }

                this.Close();
            }
        }
Example #2
0
        private void GenerarLoteCajas()
        {
            if (txtBruto.Text != string.Empty && txtTara.Text != string.Empty &&
                txtNeto.Text != string.Empty)
            {
                try
                {
                    var  cborden      = cbOrden.SelectedItem as dynamic;
                    Guid OrdenVentaId = cborden.OrdenId;
                    var  cbproducto   = cbProductoIngreso.SelectedItem as dynamic;
                    Guid ProductoId   = cbproducto.ID;
                    int  Campaña      = dpIngresoCaja.Value.Year;
                    LoteCaja = ContadorNumeroLote(Campaña, ProductoId);
                    for (int i = 0; i < int.Parse(txtCantidadCajaIngreso.Text); i++)
                    {
                        Caja caja;
                        caja              = new Caja();
                        caja.Id           = Guid.NewGuid();
                        caja.LoteCaja     = LoteCaja;
                        caja.NumeroCaja   = ContadorNumeroCaja(Campaña, ProductoId);
                        caja.Fecha        = dpIngresoCaja.Value.Date;
                        caja.Hora         = DateTime.Now.TimeOfDay;
                        caja.Campaña      = Campaña;
                        caja.ProductoId   = ProductoId;
                        caja.OrdenVentaId = OrdenVentaId;
                        caja.Bruto        = decimal.Parse(txtBruto.Text, CultureInfo.InvariantCulture);
                        caja.Tara         = decimal.Parse(txtTara.Text, CultureInfo.InvariantCulture);
                        caja.Neto         = decimal.Parse(txtNeto.Text, CultureInfo.InvariantCulture);

                        if (checkCata.Checked)
                        {
                            var cata = Context.Cata
                                       .Where(x => x.NumCaja == null);

                            if (cata != null)
                            {
                                caja.CataId = cata.FirstOrDefault().Id;
                                Context.Caja.Add(caja);
                                Context.SaveChanges();

                                var NumCata = Context.Cata.Find(caja.CataId);
                                NumCata.NumCaja      = caja.NumeroCaja;
                                NumCata.CajaId       = caja.Id;
                                NumCata.OrdenVentaId = caja.OrdenVentaId;

                                var ov = Context.OrdenVenta
                                         .Where(x => x.Id == caja.OrdenVentaId)
                                         .FirstOrDefault();

                                if (ov != null)
                                {
                                    NumCata.NumOrden = ov.NumOrden;
                                }
                                Context.Entry(NumCata).State = EntityState.Modified;
                                Context.SaveChanges();
                            }
                        }

                        RegistrarMovimiento(caja.Id, 1, caja.Fecha);
                    }

                    #region Detalle
                    OrdenVentaDetalle detalle;
                    detalle              = new OrdenVentaDetalle();
                    detalle.Id           = Guid.NewGuid();
                    detalle.ProductoId   = ProductoId;
                    detalle.OrdenVentaId = OrdenVentaId;
                    detalle.DesdeCaja    = CajaDesde(OrdenVentaId, ProductoId, Campaña);
                    detalle.HastaCaja    = CajaHasta(OrdenVentaId, ProductoId, Campaña);
                    detalle.Campaña      = Campaña;
                    Context.OrdenVentaDetalle.Add(detalle);
                    Context.SaveChanges();
                    #endregion
                }
                catch
                {
                    throw;
                }
            }
        }