Beispiel #1
0
        public List <EDEntryDetails> ListaDetalleEntrada(int IdEntrada)
        {
            List <EDEntryDetails> ListaEDDetalle = new List <EDEntryDetails>();

            using (DrogSystemContext db = new DrogSystemContext())
            {
                var Detalle = (from ED in db.EntryDetails
                               join PD in db.ProductDetails on ED.ProductDetailId equals PD.ProductDetailId
                               join P in db.Products on PD.ProductoId equals P.ProductoId
                               join M in db.Markers on PD.MarkerId equals M.MarkerId
                               where ED.EntradaId == IdEntrada
                               select new { ED, P.NombreProducto, M.NombreFabricante }).ToList();
                if (Detalle != null)
                {
                    foreach (var item in Detalle)
                    {
                        EDEntryDetails EDEntryDetails = new EDEntryDetails();
                        EDEntryDetails.EntryDetailId    = item.ED.EntryDetailId;
                        EDEntryDetails.Cantidad         = item.ED.Cantidad;
                        EDEntryDetails.Lote             = item.ED.Lote;
                        EDEntryDetails.FechaVence       = item.ED.FechaVence.ToString("dd/MM/yyyy");
                        EDEntryDetails.ProductDetailId  = item.ED.ProductDetailId;
                        EDEntryDetails.NombreFabricante = item.NombreFabricante;
                        EDEntryDetails.NombreProducto   = item.NombreProducto;
                        ListaEDDetalle.Add(EDEntryDetails);
                    }
                }
            }
            ListaEDDetalle = ListaEDDetalle.OrderBy(o => o.EntryDetailId).ToList();
            return(ListaEDDetalle);
        }
        public JsonResult Crear(List <EDEntryDetails> DetalleEntrada, EDEntry Entradas, List <int> IdABorrar)
        {
            bool    Probar  = true;
            string  Mensaje = "";
            EDEntry EDEntry = new EDEntry();

            EDEntry.EntryId      = Entradas.EntryId;
            EDEntry.FechaIngreso = Entradas.FechaIngreso;
            EDEntry.Aprobado     = Entradas.Aprobado;
            EDEntry.TerceroId    = Entradas.TerceroId;

            List <EDEntryDetails> EDEntryDetails = new List <EDEntryDetails>();

            foreach (var item in DetalleEntrada)
            {
                EDEntryDetails EDEntryDetail = new EDEntryDetails();
                EDEntryDetail.EntryDetailId   = item.EntryDetailId;
                EDEntryDetail.Cantidad        = item.Cantidad;
                EDEntryDetail.Lote            = item.Lote;
                EDEntryDetail.FechaVence      = item.FechaVence;
                EDEntryDetail.ProductDetailId = item.ProductDetailId;
                EDEntryDetails.Add(EDEntryDetail);
            }
            try
            {
                Entry Entry = new Entry();
                if (EDEntry.EntryId > 0)
                {
                    Entry entrada = db.Entries.Find(EDEntry.EntryId);
                    Entry = entrada;
                }
                Entry.FechaIngreso = DateTime.Parse(EDEntry.FechaIngreso);
                Entry.TerceroId    = EDEntry.TerceroId;
                Entry.Aprobado     = EDEntry.Aprobado = Entradas.Aprobado;
                if (EDEntry.EntryId > 0)
                {
                    db.Entry(Entry).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    db.Entries.Add(Entry);
                    db.SaveChanges();
                }
                int IdEntrada = Entry.EntradaId;
                if (IdABorrar != null)
                {
                    foreach (var detalle in IdABorrar)
                    {
                        EntryDetail EntradaDetalle = db.EntryDetails.Find(detalle);
                        db.EntryDetails.Remove(EntradaDetalle);
                        db.SaveChanges();
                    }
                }

                foreach (var item1 in EDEntryDetails)
                {
                    EntryDetail EntryDetail = new EntryDetail();
                    if (item1.EntryDetailId > 0)
                    {
                        EntryDetail entradaDetalle = db.EntryDetails.Find(item1.EntryDetailId);
                        EntryDetail = entradaDetalle;
                    }
                    EntryDetail.Cantidad        = item1.Cantidad;
                    EntryDetail.Lote            = item1.Lote;
                    EntryDetail.FechaVence      = DateTime.Parse(item1.FechaVence);
                    EntryDetail.EntradaId       = IdEntrada;
                    EntryDetail.ProductDetailId = item1.ProductDetailId;
                    if (EntryDetail.EntryDetailId > 0)
                    {
                        db.Entry(EntryDetail).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    else
                    {
                        db.EntryDetails.Add(EntryDetail);
                        db.SaveChanges();
                    }
                    if (Entry.Aprobado == "S")
                    {
                        ProductDetail ProductDetail = db.ProductDetails.Find(EntryDetail.ProductDetailId);
                        ProductDetail.Existencias    += EntryDetail.Cantidad;
                        db.Entry(ProductDetail).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                Mensaje = " Registro Agregado con exito.";
            }
            catch (Exception)
            {
                Probar  = false;
                Mensaje = " Se produjo un error al agregar el registro.";
            }
            return(Json(new { Probar, Mensaje }, JsonRequestBehavior.AllowGet));
        }