Пример #1
0
        // GET: Desviaciones/Details/5
        public ActionResult Details(int?id)
        {
            TempData["Message"] = Convert.ToString(id);

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Desviaciones desviaciones = db.Desviaciones.Find(id);

            DesviacionModel desviacion = new DesviacionModel
            {
                IdDesviacion                   = Convert.ToInt32(id),
                NumeroDeParte                  = desviaciones.Componentes.DescripcionComponente,
                IdCliente                      = desviaciones.IdCliente,
                Cliente                        = desviaciones.Clientes.DescripcionDelCliente,
                NumeroDesviacion               = desviaciones.NumeroDesviacion,
                FechaDesviacion                = Convert.ToDateTime(desviaciones.FechaDesviacion),
                RequeridoPor                   = desviaciones.RequeridoPor,
                DescripcionProcesoCorrecto     = desviaciones.DescripcionProcesoCorrecto,
                DescripcionCondicionComponente = desviaciones.DescripcionCondicionComponente,
                DescripcionRazonDesviacion     = desviaciones.DescripcionRazonDesviacion,
                DescripcionPlanDeAccion        = desviaciones.DescripcionPlanDeAccion,
                DescripcionFechaDesviacion     = desviaciones.DescripcionFechaDesviacion,
                DescripcionResponsable         = desviaciones.DescripcionResponsable,
                CriterioAceptado               = desviaciones.CriterioAceptado,
                DetalleCriterioAceptado        = desviaciones.DetalleCriterioAceptado,
                Vencimiento                    = desviaciones.Vencimiento,
                FechaVencimiento               = desviaciones.FechaVencimiento ?? new DateTime(),
                CantidadDePiezas               = desviaciones.CantidadDePiezas,
                IdTipoDesviacion               = desviaciones.IdTipoDesviacion,
                TipoDesviacion                 = desviaciones.TipoDesviacion.DescripcionTipoDesviacion,
                LstAreas                       = desviaciones.ResultadoDeAreaInvolucrada.Where(x => x.EstadoArea).Select(x => x.AreaInvolucrada.DescripcionAreaInvolucrada).ToList(),
                LstDocumentos                  = desviaciones.ResultadoDeDocumentosRelacionados.Where(x => x.EstadoDocumento).Select(x => x.DocumentosRelacionados.DescripcionDocumentosRelacionados).ToList(),
                //Areas = desviaciones.ResultadoDeAreaInvolucrada.Where(x => x.EstadoArea).Select(x =>new ListaAreasDeshabilitar{IdArea=x.IdArea,DescripcionAreaInvolucrada=x.AreaInvolucrada.DescripcionAreaInvolucrada}).ToList(),
                //ListaAreas = desviaciones.ResultadoDeAreaInvolucrada.Select(x => x.IdAreasInvolucradas).ToList(),
                //ListaDocumentos = desviaciones.ResultadoDeDocumentosRelacionados.Select(x => x.IdDocumentoRealizado).ToList()
                SelectListAreas      = desviaciones.ResultadoDeAreaInvolucrada.Where(x => x.EstadoArea == true).Select(x => x.IdAreasInvolucradas).ToArray(),
                SelectListDocumentos = desviaciones.ResultadoDeDocumentosRelacionados.Where(x => x.EstadoDocumento == true).Select(x => x.IdDocumentoRealizado).ToArray()
            };

            if (desviacion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ListaArea = db.AreaInvolucrada.Where(x => x.EstadoAreaInvolucrada).Select(x => new SelectListItem {
                Value = x.IdAreasInvolucradas.ToString(), Text = x.DescripcionAreaInvolucrada
            }).ToList();
            ViewBag.ListaDocumento = db.DocumentosRelacionados.Where(x => x.EstadoDocumentoRelacionado).Select(x => new SelectListItem {
                Value = x.IdDocumentosRelacionados.ToString(), Text = x.DescripcionDocumentosRelacionados
            }).ToList();
            return(View(desviacion));
        }
Пример #2
0
        public ActionResult Edit(DesviacionModel desviaciones)
        {
            if (ModelState.IsValid)
            {
                var nuevadesviacion = db.Desviaciones.Add(new Desviaciones
                {
                    IdDesviacion                   = desviaciones.IdDesviacion,
                    IdComponente                   = desviaciones.IdComponente,
                    IdCliente                      = desviaciones.IdCliente,
                    NumeroDesviacion               = desviaciones.NumeroDesviacion,
                    FechaDesviacion                = desviaciones.FechaDesviacion,
                    RequeridoPor                   = desviaciones.RequeridoPor,
                    DescripcionProcesoCorrecto     = desviaciones.DescripcionProcesoCorrecto,
                    DescripcionCondicionComponente = desviaciones.DescripcionCondicionComponente,
                    DescripcionRazonDesviacion     = desviaciones.DescripcionRazonDesviacion,
                    DescripcionPlanDeAccion        = desviaciones.DescripcionPlanDeAccion,
                    DescripcionFechaDesviacion     = desviaciones.DescripcionFechaDesviacion,
                    DescripcionResponsable         = desviaciones.DescripcionResponsable,
                    CriterioAceptado               = desviaciones.CriterioAceptado,
                    DetalleCriterioAceptado        = desviaciones.DetalleCriterioAceptado,
                    Vencimiento                    = desviaciones.Vencimiento,
                    FechaVencimiento               = desviaciones.FechaVencimiento,
                    CantidadDePiezas               = desviaciones.CantidadDePiezas,
                    IdTipoDesviacion               = desviaciones.IdTipoDesviacion,
                    CreadoPor                      = User.Identity.GetUserName(),
                    EstadoDesviacion               = true
                });

                var lstArea = db.ResultadoDeAreaInvolucrada.Where(x => x.IdDesviaciones == desviaciones.IdDesviacion);
                foreach (var lst in lstArea)
                {
                    lst.EstadoArea = false;
                }
                //db.Entry(lstArea).State = EntityState.Modified;

                var lstDocumento = db.ResultadoDeDocumentosRelacionados.Where(x => x.IdDesviacion == desviaciones.IdDesviacion);
                foreach (var lst in lstDocumento)
                {
                    lst.EstadoDocumento = false;
                }
                //db.Entry(lstDocumento).State = EntityState.Modified;

                foreach (var area in desviaciones.ListaAreas)
                {
                    db.ResultadoDeAreaInvolucrada.Add(new ResultadoDeAreaInvolucrada
                    {
                        IdAreasInvolucradas = area,
                        IdDesviaciones      = nuevadesviacion.IdDesviacion,
                        EstadoArea          = true
                    });
                }
                foreach (var documento in desviaciones.ListaDocumentos)
                {
                    db.ResultadoDeDocumentosRelacionados.Add(new ResultadoDeDocumentosRelacionados
                    {
                        IdDocumentoRealizado = documento,
                        IdDesviacion         = nuevadesviacion.IdDesviacion,
                        EstadoDocumento      = true
                    });
                }

                db.Entry(nuevadesviacion).State = EntityState.Modified;
                var resultado = db.SaveChanges();
                if (resultado > 0)
                {
                    TempData["Message"] = "La desviacion se actualizo correctamente!";
                }
                else
                {
                    TempData["Message"] = "Error al actualizar la desviacion!";
                }
                return(RedirectToAction("Index"));
            }
            ViewBag.IdCliente        = new SelectList(db.Clientes, "IdCliente", "DescripcionDelCliente", desviaciones.IdCliente);
            ViewBag.IdComponente     = new SelectList(db.Componentes, "IdComponente", "NumeroParte", desviaciones.IdComponente);
            ViewBag.IdTipoDesviacion = new SelectList(db.TipoDesviacion, "IdTipoDesviacion", "DescripcionTipoDesviacion", desviaciones.IdTipoDesviacion);
            return(View(desviaciones));
        }