// 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)); }
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)); }