public static int SavePersonnel(App.CustomModels.Personnel personnel, List <App.CustomModels.PersonnelTelephone> telephones, List <App.CustomModels.ConNote> ConNotes, List <App.CustomModels.PersonnelEmail> emails, List <App.CustomModels.PersonnelRole> roles) { OMMDataContext context = new OMMDataContext(); Contact contact = populateContact(personnel, context); ///Roles if (roles != null && roles.Count > 0) { foreach (App.CustomModels.PersonnelRole role in roles) { ContactRole contactRole = null; if (role.ID > 0) { contactRole = context.ContactRoles.SingleOrDefault(P => P.ID == role.ID); } else { contactRole = new ContactRole(); contact.ContactRoles.Add(contactRole); } contactRole.RoleID = role.RoleID; contactRole.RoleOrder = role.Order; contactRole.ChangedByUserID = SessionCache.CurrentUser.ID; contactRole.ChangedOn = DateTime.Now; } } context.SubmitChanges(); return(contact.ID); }
private static Contact populateContact(App.CustomModels.Personnel personnel, OMMDataContext context) { WebUtil.LoginUser(); Contact contact = null; if (personnel.ID > 0) { contact = context.Contacts.SingleOrDefault(P => P.ID == personnel.ID); } else { contact = new Contact(); contact.CreatedByUserID = SessionCache.CurrentUser.ID; contact.CreatedOn = DateTime.Now; context.Contacts.InsertOnSubmit(contact); } contact.FirstNames = personnel.FirstName; contact.LastName = personnel.LastName; contact.Address = personnel.Address; contact.MaritalStatusID = personnel.MaritalStatus; contact.Postcode = personnel.PostCode; // contact.CountryID = personnel.CountryID; if (personnel.CountryID.ToInt() > 0) { contact.CountryID = personnel.CountryID.ToInt(); } else { contact.CountryID = null; } contact.PlaceOfBirth = personnel.PlaceOfBirth; if (personnel.CountryOfBirthID.ToInt() > 0) { contact.CountryOfBirthID = personnel.CountryOfBirthID.ToInt(); } else { contact.CountryOfBirthID = null; } ///Date of Birth (Nullable) if (personnel.DateOfBirth.IsNullOrEmpty()) { contact.DateOfBirth = null; } else { contact.DateOfBirth = personnel.DateOfBirth.ToDateTime(ConfigReader.CSharpCalendarDateFormat); } contact.ChangedOn = DateTime.Now; contact.ChangedByUserID = SessionCache.CurrentUser.ID; return(contact); }
public static int SavePersonnel(App.CustomModels.Personnel personnel, List <App.CustomModels.PersonnelTelephone> telephones, List <App.CustomModels.ConNote> ConNotes, List <App.CustomModels.PersonnelEmail> emails, List <App.CustomModels.PersonnelRole> roles) { OMMDataContext context = new OMMDataContext(); Contact contact = populateContact(personnel, context); ///Bind Telephones if (telephones != null && telephones.Count > 0) { foreach (App.CustomModels.PersonnelTelephone telephone in telephones) { TelephoneNumber phone = null; if (telephone.ID > 0) { phone = context.TelephoneNumbers.SingleOrDefault(P => P.ID == telephone.ID); } else { phone = new TelephoneNumber(); contact.TelephoneNumbers.Add(phone); } phone.Number = telephone.Number; phone.TypeID = telephone.TypeID; phone.ChangedByUserID = SessionCache.CurrentUser.ID; phone.ChangedOn = DateTime.Now; } } ///Bind Notes if (ConNotes != null && ConNotes.Count > 0) { foreach (App.CustomModels.ConNote conNote in ConNotes) { ContactsNote note = null; if (conNote.ID > 0) { note = context.ContactsNotes.SingleOrDefault(P => P.ID == conNote.ID); } else { note = new ContactsNote(); contact.ContactsNotes.Add(note); } note.Notes = conNote.Notes; if (conNote.CommsTypeID != null) { note.ContactCommsTypeID = Convert.ToInt32(conNote.CommsTypeID); } note.ChangedByUserID = SessionCache.CurrentUser.ID; note.ChangedOn = DateTime.Now; } } ///Bind Eamils if (emails != null && emails.Count > 0) { foreach (App.CustomModels.PersonnelEmail email in emails) { EmailAddress contactEmail = null; if (email.ID > 0) { contactEmail = context.EmailAddresses.SingleOrDefault(P => P.ID == email.ID); } else { contactEmail = new EmailAddress(); contact.EmailAddresses.Add(contactEmail); } contactEmail.Address = email.Email; contactEmail.ChangedByUserID = SessionCache.CurrentUser.ID; contactEmail.ChangedOn = DateTime.Now; } } ///Roles context.SubmitChanges(); return(contact.ID); }
private static Contact populateContact(App.CustomModels.Personnel personnel, OMMDataContext context) { WebUtil.LoginUser(); Contact contact = null; if (personnel.ID > 0) { contact = context.Contacts.SingleOrDefault(P => P.ID == personnel.ID); } else { contact = new Contact(); contact.CreatedByUserID = SessionCache.CurrentUser.ID; contact.CreatedOn = DateTime.Now; context.Contacts.InsertOnSubmit(contact); } // contact.FirstNames = personnel.FirstName; // contact.LastName = personnel.LastName; // contact.Address = personnel.Address; // contact.MaritalStatusID = personnel.MaritalStatus; // contact.Postcode = personnel.PostCode; // contact.CountryID = personnel.CountryID; // if (personnel.CountryID.ToInt() > 0) // contact.CountryID = personnel.CountryID.ToInt(); // else // contact.CountryID = null; // contact.PlaceOfBirth = personnel.PlaceOfBirth; contact.PPE_Sizes = personnel.PPE_Sizes; contact.Coverall = personnel.Coverall; contact.Boots = personnel.Boots; contact.CopmpanyName = personnel.companyname; contact.CompanyReg = personnel.companyreg; contact.CompanyVat = personnel.companyvat; contact.CompanyAddress = personnel.companyaddr; contact.employment_status = personnel.employmentstatus; contact.Insurance = personnel.insurance; contact.NoSMSorEmail = personnel.NoSMSOrEmail; contact.Inactive = personnel.InActive; ///Date of Last Meeting (Nullable) if (personnel.DateOfLastMeeting.IsNullOrEmpty()) { contact.DateOfLastMeeting = null; } else { contact.DateOfLastMeeting = personnel.DateOfLastMeeting.ToDateTime(ConfigReader.CSharpCalendarDateFormat); } contact.PreferredDayRate = personnel.PreferredDayRate; if (contact.PreferredDayRate.HasValue) { contact.DayRateCurrencyID = personnel.DayRateCurrencyID; } contact.ChangedOn = DateTime.Now; contact.ChangedByUserID = SessionCache.CurrentUser.ID; return(contact); }