public ResidentItem SaveResident(ResidentItem residentItem) { Resident resident = null; switch (residentItem.InitializationType) { case InitializationTypes.Insert: resident = new Resident { FirstName = residentItem.FirstName, LastName = residentItem.LastName, MiddleName = residentItem.MiddleName, IdentificatorNumber = residentItem.IdentificatorNumber, GenderID = residentItem.GenderID, RegionID = residentItem.RegionID, CommunityID = residentItem.CommunityID, Street = residentItem.Street, Building = residentItem.Building, Home = residentItem.Home, BirthYear = residentItem.BirthYear, Phone = residentItem.Phone, Email = residentItem.Email }; if (residentItem.BirthYear != null) { resident.BirthDate = new DateTime((Int16)residentItem.BirthYear, 1, 1); } db.Residents.Add(resident); break; case InitializationTypes.Update: resident = new Resident { ResidentID = residentItem.ResidentID, FirstName = residentItem.FirstName, LastName = residentItem.LastName, MiddleName = residentItem.MiddleName, IdentificatorNumber = residentItem.IdentificatorNumber, GenderID = residentItem.GenderID, RegionID = residentItem.RegionID, CommunityID = residentItem.CommunityID, Street = residentItem.Street, Building = residentItem.Building, Home = residentItem.Home, BirthYear = residentItem.BirthYear, Phone = residentItem.Phone, Email = residentItem.Email }; if (residentItem.BirthYear != null) { resident.BirthDate = new DateTime((Int16)residentItem.BirthYear, 1, 1); } db.Residents.Attach(resident); db.Entry(resident).State = EntityState.Modified; break; } db.SaveChanges(); residentItem.ResidentID = resident.ResidentID; return(residentItem); }
/// <summary> /// Get existing temporary Resident and return it as a result /// </summary> /// <returns></returns> public ResidentItem GetResidentItem(int?residentID = null) { try { if (residentID != null) { Resident resident = db.Residents.Find(residentID); ResidentItem item = new ResidentItem { ResidentID = resident.ResidentID, FirstName = resident.FirstName, LastName = resident.LastName, MiddleName = resident.MiddleName, BirthDate = resident.BirthDate, IdentificatorNumber = resident.IdentificatorNumber, GenderID = resident.GenderID, RegionID = resident.RegionID, CommunityID = resident.CommunityID, Street = resident.Street, Building = resident.Building, Home = resident.Home, BirthYear = resident.BirthYear, Phone = resident.Phone, Email = resident.Email, InitializationType = InitializationTypes.Update, }; return(item); } else { var item = new ResidentItem { InitializationType = InitializationTypes.Insert, }; return(item); } } catch (Exception ex) { exception = ex; return(null); } }