public ActionResult PersonalInfo(int?id, int?contactPersonId) { if (contactPersonId.HasValue) { ViewBag.ContactPersonFrom = this.COVID19Entities.People.First(x => x.Personid == contactPersonId.Value); } var maritalStatusOptions = this.COVID19Entities.MaritalStatus.ToList().Select(x => new SelectListItem { Text = x.MaritalStatus, Value = x.Id.ToString() } ).ToList(); ViewBag.maritalStatusOptions = maritalStatusOptions; var contactReasons = this.COVID19Entities.ContactReasons.ToList().Select(x => new SelectListItem { Text = x.Reason, Value = x.Id.ToString() }).ToList(); ViewBag.ContactReasons = contactReasons; if (id.HasValue) { var dbPerson = this.COVID19Entities.People.First(x => x.Personid == id.Value); var model = new NewPersonDtoStep1 { PersonID = id.Value, Name = dbPerson.Name, SecondName = dbPerson.SecondName, LastName = dbPerson.LastName, DocumentNumber = dbPerson.DocumentNumber, Gender = dbPerson.Gender, BirrhtDate = dbPerson.BirrhtDate, MaritalSatatusID = dbPerson.MaritalSatatusID, ContactPersonId = contactPersonId }; return(View(model)); } else { var model = new NewPersonDtoStep1 { ContactPersonId = contactPersonId }; return(View(model)); } }
public ActionResult PersonalInfo(NewPersonDtoStep1 model) { if (!ModelState.IsValid) { if (model.ContactPersonId.HasValue) { ViewBag.ContactPersonFrom = this.COVID19Entities.People.First(x => x.Personid == model.ContactPersonId.Value); } var maritalStatusOptions = this.COVID19Entities.MaritalStatus.ToList().Select(x => new SelectListItem { Text = x.MaritalStatus, Value = x.Id.ToString() } ).ToList(); ViewBag.maritalStatusOptions = maritalStatusOptions; var contactReasons = this.COVID19Entities.ContactReasons.ToList().Select(x => new SelectListItem { Text = x.Reason, Value = x.Id.ToString() }).ToList(); ViewBag.ContactReasons = contactReasons; return(View(model)); } Person dbPerson; if (model.PersonID == 0) { var existingPersonByDocumentNumber = this.COVID19Entities.People.FirstOrDefault(x => x.DocumentNumber == model.DocumentNumber); if (existingPersonByDocumentNumber != null) { ModelState.AddModelError(string.Empty, "El documento ya está en uso"); var maritalStatusOptions = this.COVID19Entities.MaritalStatus.ToList().Select(x => new SelectListItem { Text = x.MaritalStatus, Value = x.Id.ToString() } ).ToList(); ViewBag.maritalStatusOptions = maritalStatusOptions; var contactReasons = this.COVID19Entities.ContactReasons.ToList().Select(x => new SelectListItem { Text = x.Reason, Value = x.Id.ToString() }).ToList(); ViewBag.ContactReasons = contactReasons; return(View(model)); } dbPerson = new Person { Name = model.Name, SecondName = model.SecondName, LastName = model.LastName, DocumentTypeID = -1, DocumentNumber = model.DocumentNumber, Gender = model.Gender, BirrhtDate = model.BirrhtDate, MaritalSatatusID = model.MaritalSatatusID, EffectDate = DateTime.Now, Adress = new Adress { }, Patients = new List <Patient>() { new Patient { EffectDate = DateTime.Now } } }; this.COVID19Entities.People.Add(dbPerson); this.COVID19Entities.SaveChanges(); // CREACIÓN var dbPatientHistory = new PatientHistory { ActionID = 5, EffectDate = DateTime.Now, Datetime = DateTime.Now, Observation = User.Identity.Name + " creó el nuevo registro con éxito", PatientID = dbPerson.Patients.First().PatientID }; this.COVID19Entities.PatientHistories.Add(dbPatientHistory); this.COVID19Entities.SaveChanges(); if (model.ContactPersonId.HasValue) { // FEDE! TE CEDO EL PODER! var contactDbPerson = this.COVID19Entities.People.First(x => x.Personid == model.ContactPersonId); var dbContact = new Contact { PatientID = dbPerson.Patients.First().PatientID, //dbPerson.Patients.First().PatientID, ContactPersonId = model.ContactPersonId, EffectDate = DateTime.Now, Observations = model.ContactObservations, ContactReasonId = model.ContactReasonId }; this.COVID19Entities.Contacts.Add(dbContact); this.COVID19Entities.SaveChanges(); } } else { // EDICIÓN dbPerson = this.COVID19Entities.People.First(x => x.Personid == model.PersonID); dbPerson.Name = model.Name; dbPerson.SecondName = model.SecondName; dbPerson.LastName = model.LastName; dbPerson.DocumentTypeID = -1; dbPerson.DocumentNumber = model.DocumentNumber; dbPerson.Gender = model.Gender; dbPerson.BirrhtDate = model.BirrhtDate; dbPerson.MaritalSatatusID = model.MaritalSatatusID; dbPerson.EffectDate = DateTime.Now; this.COVID19Entities.SaveChanges(); } return(RedirectToAction("Address", "Person", new { id = dbPerson.Personid })); }