private void RestartRespuestaClienteReclamacionViewModel(RespuestaClienteReclamacionViewModel viewModel, Respuesta_Cliente respuesta_Cliente, Reclamacion reclamacion) { viewModel.ReclamacionViewModel.Reclamacion = reclamacion; AddListRespuestasReclamaciones(reclamacion, viewModel); AddViewBagCreatePost(respuesta_Cliente); }
// GET: Respuesta_Empleado/Create public ActionResult CreateFromReclamacion(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Reclamacion reclamacion = db.Reclamacions.Find(id); if (reclamacion == null) { return(HttpNotFound()); } RespuestaClienteReclamacionViewModel viewmodel = new RespuestaClienteReclamacionViewModel() { ReclamacionViewModel = new ReclamacionViewModel { Reclamacion = reclamacion, Respuestas = new List <Respuesta>() }, Respuesta_Cliente = new Respuesta_Cliente { Reclamacion_ReclamacionID = reclamacion.QRID, Estado_QR_Estado_OrigenID = reclamacion.Estado_QR_EstadoID } }; AddListRespuestasReclamaciones(reclamacion, viewmodel); Respuesta_Cliente respuesta_Cliente = viewmodel.Respuesta_Cliente; AddViewBagCreate(respuesta_Cliente); return(View(viewmodel)); }
private void AddListRespuestasReclamaciones(Reclamacion reclamacion, RespuestaClienteReclamacionViewModel viewmodel) { int?id_reclamacion = reclamacion.QRID; List <Respuesta_Empleado> respuesta_Empleados = db.Respuesta_Empleados.Where(e => e.Reclamacion_ReclamacionID == id_reclamacion).ToList(); List <Respuesta_Cliente> respuesta_Clientes = db.Respuesta_Clientes.Where(e => e.Reclamacion_ReclamacionID == id_reclamacion).ToList(); if (viewmodel.ReclamacionViewModel.Respuestas == null) { viewmodel.ReclamacionViewModel.Respuestas = new List <Respuesta>(); } viewmodel.ReclamacionViewModel.Respuestas.AddRange(respuesta_Clientes); viewmodel.ReclamacionViewModel.Respuestas.AddRange(respuesta_Empleados); viewmodel.ReclamacionViewModel.Respuestas.Sort(ModelHelpers.CompareRespuestas); }
public ActionResult CreateFromReclamacion(RespuestaClienteReclamacionViewModel viewModel) { Respuesta_Cliente respuesta_Cliente = viewModel.Respuesta_Cliente; Reclamacion reclamacion = db.Reclamacions.Find(viewModel.ReclamacionViewModel.Reclamacion.QRID); respuesta_Cliente.Reclamacion_ReclamacionID = reclamacion.QRID; if (ValoracionInvalida(respuesta_Cliente)) { RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion); ModelState.AddModelError("", "Valoración inválida"); return(View(viewModel)); } if (EstadoInvalido(respuesta_Cliente)) { RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion); ModelState.AddModelError("", "Estado inválido"); return(View(viewModel)); } if (ModelState.IsValid) { respuesta_Cliente.Fecha = DateTime.Now; reclamacion.Estado_QR_EstadoID = respuesta_Cliente.Estado_QR_Estado_DestinoID; db.Respuesta_Clientes.Add(respuesta_Cliente); db.Entry(reclamacion).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", "Reclamacions")); } RestartRespuestaClienteReclamacionViewModel(viewModel, respuesta_Cliente, reclamacion); return(View(viewModel)); }