private ParentModel MapParentModel(Parent parent, ParentProfile profile, ParentAlert parentAlert) { var parentModel = new ParentModel(); parentModel.ParentUniqueId = parent.ParentUniqueId; if (profile != null) { SetParentContactInfo(parentModel, profile); } if (profile == null || parentModel.Email == null) { SetParentContactInfo(parentModel, parent); } if (parentAlert == null) { return(parentModel); } parentModel.ParentAlert.PreferredMethodOfContactTypeId = profile?.PreferredMethodOfContactTypeId; parentModel.ParentAlert.AlertTypeIds = parentAlert.AlertTypes.Select(x => x.AlertTypeId).ToList(); parentModel.LanguageCode = profile.LanguageCode; return(parentModel); }
internal override void SetXML(XmlElement xml, BaseClassIfc host, Dictionary <string, XmlElement> processed) { base.SetXML(xml, host, processed); xml.AppendChild(ParentProfile.GetXML(xml.OwnerDocument, "ContainerProfile", this, processed)); xml.AppendChild(Operator.GetXML(xml.OwnerDocument, "Operator", this, processed)); setAttribute(xml, "Label", Label); }
private async Task <ParentProfile> SaveProfileAsync(int parentUsi, UserProfileModel model) { var currentProfile = await(GetParentProfile(parentUsi)).SingleOrDefaultAsync(); var parent = await _edFiDb.Parents.SingleOrDefaultAsync(x => x.ParentUsi == model.Usi); var parentUniqueId = parent.ParentUniqueId; // If the parent portal extended profile is not null remove it and add it again with the submitted changes. if (currentProfile != null) { _edFiDb.ParentProfiles.Remove(currentProfile.ParentProfile); } var profile = new ParentProfile { ParentUniqueId = parentUniqueId, FirstName = model.FirstName, MiddleName = model.MiddleName, LastSurname = model.LastSurname, NickName = model.Nickname, PreferredMethodOfContactTypeId = model.PreferredMethodOfContactTypeId, LanguageCode = model.LanguageCode, ReplyExpectations = model.ReplyExpectations, ParentProfileElectronicMails = model.ElectronicMails.Select(x => new ParentProfileElectronicMail { ParentUniqueId = parentUniqueId, ElectronicMailTypeId = x.ElectronicMailTypeId, ElectronicMailAddress = x.ElectronicMailAddress, PrimaryEmailAddressIndicator = x.PrimaryEmailAddressIndicator }).ToList(), ParentProfileTelephones = model.TelephoneNumbers.Select(x => new ParentProfileTelephone { ParentUniqueId = parentUniqueId, TelephoneNumberTypeId = x.TelephoneNumberTypeId, TelephoneNumber = x.TelephoneNumber, TextMessageCapabilityIndicator = x.TextMessageCapabilityIndicator, PrimaryMethodOfContact = x.PrimaryMethodOfContact, TelephoneCarrierTypeId = x.TelephoneCarrierTypeId, }).ToList(), ParentProfileAddresses = model.Addresses.Select(x => new ParentProfileAddress { ParentUniqueId = parentUniqueId, AddressTypeId = x.AddressTypeId, StreetNumberName = x.StreetNumberName, ApartmentRoomSuiteNumber = x.ApartmentRoomSuiteNumber, City = x.City, StateAbbreviationTypeId = x.StateAbbreviationTypeId, PostalCode = x.PostalCode, NameOfCounty = x.NameOfCounty, }).ToList(), }; _edFiDb.ParentProfiles.Add(profile); await _edFiDb.SaveChangesAsync(); return(profile); }
public DeviceGroup GetDeviceGroup(DeviceIoType deviceIoType) { var deviceGroupGuid = GetDeviceGroupGuid(deviceIoType); if (deviceGroupGuid.Equals(Guid.Empty)) { return(ParentProfile?.GetDeviceGroup(deviceIoType)); } return(Context.DeviceGroupsManager.GetDeviceGroup(deviceIoType, deviceGroupGuid)); }
public override string GetStepParameters() { var parameters = new List <string>(); parameters.Add(ProfileType.ToStepValue()); parameters.Add(ProfileName != null ? ProfileName.ToStepValue() : "$"); parameters.Add(ParentProfile != null ? ParentProfile.ToStepValue() : "$"); parameters.Add("*"); parameters.Add(Label != null ? Label.ToStepValue() : "$"); return(string.Join(", ", parameters.ToArray())); }
private string getParentSMSDomain(ParentProfile parentProfile) { if (parentProfile == null) { return(null); } var preferredTelephone = parentProfile.ParentProfileTelephones.FirstOrDefault(x => x.PrimaryMethodOfContact.HasValue && x.PrimaryMethodOfContact.Value); var telephone = preferredTelephone ?? parentProfile.ParentProfileTelephones.FirstOrDefault(); return(telephone?.TextMessageCarrierType.SmsSuffixDomain); }
private string getParentTelephone(ParentProfile parentProfile) { if (parentProfile == null) { return(null); } var preferredTelephone = parentProfile.ParentProfileTelephones.FirstOrDefault(x => x.PrimaryMethodOfContact.HasValue && x.PrimaryMethodOfContact.Value); var telephone = preferredTelephone ?? parentProfile.ParentProfileTelephones.FirstOrDefault(); return(telephone?.TelephoneNumber); }
private string getParentMail(ParentProfile parentProfile) { if (parentProfile == null) { return(null); } var preferredMail = parentProfile.ParentProfileElectronicMails.FirstOrDefault(x => x.PrimaryEmailAddressIndicator.HasValue && x.PrimaryEmailAddressIndicator.Value); var mail = preferredMail ?? parentProfile.ParentProfileElectronicMails.FirstOrDefault(); return(mail?.ElectronicMailAddress); }
private void SetParentContactInfo(ParentModel parentModel, ParentProfile parentProfile) { var preferredMail = parentProfile.ParentProfileElectronicMails.FirstOrDefault(x => x.PrimaryEmailAddressIndicator.HasValue && x.PrimaryEmailAddressIndicator.Value); var mail = preferredMail ?? parentProfile.ParentProfileElectronicMails.FirstOrDefault(); var preferredTelephone = parentProfile.ParentProfileTelephones.FirstOrDefault(x => x.PrimaryMethodOfContact.HasValue && x.PrimaryMethodOfContact.Value); var telephone = preferredTelephone ?? parentProfile.ParentProfileTelephones.FirstOrDefault(); parentModel.Email = mail?.ElectronicMailAddress; parentModel.Telephone = telephone?.TelephoneNumber; parentModel.SMSDomain = telephone?.TextMessageCarrierType?.SmsSuffixDomain; }
public string GetInheritedDeviceGroupName(DeviceIoType deviceIoType) { var parentDeviceGroupName = "None"; var parentDeviceGroup = ParentProfile?.GetDeviceGroup(deviceIoType); if (parentDeviceGroup != null) { parentDeviceGroupName = parentDeviceGroup.Title; } if (ParentProfile != null) { parentDeviceGroupName += " (Inherited)"; } return(parentDeviceGroupName); }
public List <Device> GetDeviceList(DeviceIoType deviceIoType) { var result = new List <Device>(); if (ParentProfile != null) { result.AddRange(ParentProfile.GetDeviceList(deviceIoType)); } var devices = deviceIoType == DeviceIoType.Input ? InputDevices : OutputDevices; devices.ForEach(d => d.Profile = this); result.AddRange(devices); return(result); }
public string ProfileBreadCrumbs() { return(ParentProfile != null?ParentProfile.ProfileBreadCrumbs() + " > " + Title : Title); }