public PartialViewResult Nuevo(NuevoClienteFormModel model) { if (model.IdPais == null) { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Debe seleccionar un país.", Error = true })); } if (model.IdIdioma == null) { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Debe seleccionar un idioma.", Error = true })); } if (ModelState.IsValid) { var cliente = new Cliente { ApellidoMaterno = model.ApellidoMaterno, ApellidoPaterno = model.ApellidoPaterno, Email = model.Email, Id = Guid.NewGuid(), IdIdioma = model.IdIdioma, IdPais = model.IdPais, Nombre = model.Nombre, TelefonoPrimario = model.TelefonoPrimario, TelefonoSecundario = model.TelefonoSecundario }; db.Cliente.Add(cliente); var listaDomicilios = TempData["DomiciliosNuevos"] as List <DomicilioFormModel>; if (listaDomicilios != null) { foreach (var a in listaDomicilios) { db.Domicilio.Add(new Domicilio() { Id = a.Id, Calle = a.Calle, Activo = true, Complemento = a.Complemento, IdCliente = cliente.Id, Numero = a.Numero, Referencia = a.Referencia }); } } db.SaveChanges(); return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Cliente creado exitosamente", Error = false })); } else { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Error de formulario. Verifique los campos.", Error = true })); } // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario // return PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Error", Error = true }); //return Json("Error", JsonRequestBehavior.AllowGet); }
public PartialViewResult Modificar(NuevoClienteFormModel model) { if (!model.IdPais.HasValue) { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Debe seleccionar un país.", Error = true })); } if (!model.IdIdioma.HasValue) { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Debe seleccionar un idioma.", Error = true })); } if (ModelState.IsValid) { var cliente = db.Cliente.First(x => x.Id == model.Id); cliente.ApellidoMaterno = model.ApellidoMaterno; cliente.ApellidoPaterno = model.ApellidoPaterno; cliente.Email = model.Email; cliente.IdIdioma = model.IdIdioma; cliente.IdPais = model.IdPais; cliente.Nombre = model.Nombre; cliente.TelefonoPrimario = model.TelefonoPrimario; cliente.TelefonoSecundario = model.TelefonoSecundario; try { db.Entry(cliente).State = EntityState.Modified; var listaDomicilios = TempData["DomiciliosNuevos"] as List <DomicilioFormModel>; db.Domicilio.RemoveRange(cliente.Domicilio); if (listaDomicilios != null) { foreach (var a in listaDomicilios) { db.Domicilio.Add(new Domicilio() { Id = a.Id, Calle = a.Calle, Activo = true, Complemento = a.Complemento, IdCliente = cliente.Id, Numero = a.Numero, Referencia = a.Referencia }); } } db.SaveChanges(); } catch (Exception ex) { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Error al guardar en la base de datos: " + ex.Message, Error = true })); } return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Cliente modificado exitosamente", Error = false })); } else { return(PartialView("../Shared/Mensaje", new Models.App.MensajeViewModel() { Mensaje = "Error de formulario. Verifique los campos.", Error = true })); } }