public static bool UpdateEmailToContactCard(string email, DataModels.ContactCard.ContactCard card) { try { if (card.Emails.FirstOrDefault() == null) { DataModels.ContactCard.Email e = new DataModels.ContactCard.Email(); UpdateEmailToContactCard(email, e); card.Emails.Add(e); } else UpdateEmailToContactCard(email, card.Emails.FirstOrDefault()); return true; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return false; }
/// <summary> /// creates a federation from the current member /// </summary> /// <param name="nameOfFederation"></param> /// <param name="emailAddress"></param> /// <param name="phoneNumber"></param> /// <param name="owner"></param> /// <returns></returns> public static DataModels.Federation.Federation CreateFederation(string nameOfFederation, string emailAddress, string phoneNumber, DataModels.Member.Member owner) { try { var dc = new ManagementContext(); var email = new DataModels.ContactCard.Email(); email.EmailAddress = emailAddress; email.IsDefault = true; var communication = new DataModels.ContactCard.Communication(); communication.Data = phoneNumber; communication.IsDefault = true; int phoneNumberCast = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber); //communication.CommunicationType = dc.CommunicationType.Where(x => x.CommunicationTypeId == phoneNumberCast).FirstOrDefault(); communication.CommunicationTypeEnum = (byte)CommunicationTypeEnum.PhoneNumber; var card = new DataModels.ContactCard.ContactCard(); card.Emails.Add(email); card.Communications.Add(communication); var fedOwner = new DataModels.Federation.FederationOwnership(); fedOwner.IsVerified = false; var mem = dc.Members.Where(x => x.MemberId == owner.MemberId).FirstOrDefault(); fedOwner.Member = mem; fedOwner.OwnerType = Convert.ToInt32(FederationOwnerEnum.Owner); var federation = new DataModels.Federation.Federation(); federation.Name = nameOfFederation; federation.ContactCard = card; federation.IsVerified = false; federation.Owners.Add(fedOwner); //adds the current member to the federation they are creating. var fedMembers = new DataModels.Federation.FederationMember { Federation = federation, Member = mem, FederationIdForMember = "" }; federation.Members.Add(fedMembers); dc.Federations.Add(federation); dc.SaveChanges(); Forum.Forum.CreateNewForum(federation.FederationId, ForumOwnerTypeEnum.league, nameOfFederation + "'s Forum"); SendEmailAboutNewFederation(nameOfFederation, federation.FederationId, owner.DerbyName, emailAddress, phoneNumber); return federation; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: "Fed Name: " + nameOfFederation + " email:" + emailAddress + " phone:" + phoneNumber + " owner:" + owner.MemberId); } return null; }