/// <summary> /// Saves the service contact. /// </summary> /// <param name="logonId">Logon id obtained when logging on to the logon service.</param> /// <param name="contactAddress">The contact address.</param> /// <param name="additionalElement">The additional element.</param> /// <param name="serviceContact">The service contact.</param> /// <param name="conflictNoteSummary">The conflict note summary.</param> /// <param name="conflictNoteContent">Content of the conflict note.</param> /// <returns></returns> public ReturnValue SaveServiceContact(Guid logonId, Address contactAddress, AdditionalAddressElement[] additionalElement, ServiceContact serviceContact, string conflictNoteSummary, string conflictNoteContent) { ReturnValue returnValue = new ReturnValue(); try { // Get the logged on user from the current logons and add their // ApplicationSettings the list of concurrent sessions. Host.LoadLoggedOnUser(logonId); try { Functions.RestrictRekoopIntegrationUser(UserInformation.Instance.DbUid); switch (UserInformation.Instance.UserType) { case DataConstants.UserType.Staff: // Can do everything break; case DataConstants.UserType.Client: case DataConstants.UserType.ThirdParty: if (!ApplicationSettings.Instance.IsUser(additionalElement[0].MemberId, additionalElement[0].OrganisationId)) throw new Exception("Access denied"); break; default: throw new Exception("Access denied"); } SrvServiceContact serviceContactSrv = new SrvServiceContact(); SrvAddress srvAddress = new SrvAddress(); this.SetAddressValue(srvAddress, contactAddress); // Save Additional Address Info to Address Object if (additionalElement != null) { for (int i = 0; i <= 9; i++) { srvAddress.AdditionalInfoElements[i].AddressElementText = additionalElement[i].ElementText; } } serviceContactSrv.Addresses.Add(srvAddress); serviceContactSrv.ServiceId = serviceContact.ServiceId; serviceContactSrv.Person.ForeName = serviceContact.ForeName; serviceContactSrv.Person.Surname = serviceContact.SurName; serviceContactSrv.Person.Title = serviceContact.Title; serviceContactSrv.Position = serviceContact.Position; serviceContactSrv.Person.Sex = serviceContact.Sex; //These two notes fields are mandatory and have defined //default values serviceContactSrv.ConflictNoteSummary = conflictNoteSummary; serviceContactSrv.ConflictNoteContent = conflictNoteContent; string errorMessage; returnValue.Success = serviceContactSrv.Save(out errorMessage); returnValue.Message = errorMessage; } finally { // Remove the logged on user's ApplicationSettings from the // list of concurrent sessions Host.UnloadLoggedOnUser(); } } catch (System.Data.SqlClient.SqlException) { returnValue.Success = false; returnValue.Message = Functions.SQLErrorMessage; } catch (Exception ex) { returnValue.Success = false; returnValue.Message = ex.Message; } return returnValue; }
/// <summary> /// This method updates the Person / Organisation information /// using contact service . /// </summary> /// <param name="logonId">User logon ID</param> /// <param name="person">Person information</param> /// <param name="contactType">Individual / Organisation</param> /// <param name="organisation">Organisation Information</param> /// <returns>Return Value</returns> public ReturnValue UpdateGeneralContact(Guid logonId, Person person, IRISLegal.IlbCommon.ContactType contactType, Organisation organisation) { ReturnValue returnValue = new ReturnValue(); try { // Get the logged on user from the current logons and add their // ApplicationSettings the list of concurrent sessions. Host.LoadLoggedOnUser(logonId); try { Functions.RestrictRekoopIntegrationUser(UserInformation.Instance.DbUid); switch (UserInformation.Instance.UserType) { case DataConstants.UserType.Staff: // Can do everything case DataConstants.UserType.ThirdParty: switch (contactType) { case IRISLegal.IlbCommon.ContactType.Individual: if (!ApplicationSettings.Instance.IsUser(person.MemberId, DataConstants.DummyGuid)) throw new Exception("Access denied"); break; case IRISLegal.IlbCommon.ContactType.Organisation: if (!ApplicationSettings.Instance.IsUser(DataConstants.DummyGuid, organisation.OrganisationId)) throw new Exception("Access denied"); break; default: throw new Exception("Invalid contact type"); } break; case DataConstants.UserType.Client: switch (contactType) { case IRISLegal.IlbCommon.ContactType.Individual: if (!ApplicationSettings.Instance.IsUser(person.MemberId, DataConstants.DummyGuid)) throw new Exception("Access denied"); break; case IRISLegal.IlbCommon.ContactType.Organisation: if (!ApplicationSettings.Instance.IsUser(DataConstants.DummyGuid, organisation.OrganisationId)) throw new Exception("Access denied"); break; default: throw new Exception("Invalid contact type"); } break; default: throw new Exception("Access denied"); } SrvServiceContact serviceContactService = new SrvServiceContact(); SrvContact contactService = new SrvContact(); string errorMessage; string errorMessageWarning; contactService.ContactType = contactType; contactService.Load(person.MemberId); if (!contactService.ValidateId(out errorMessage, out errorMessageWarning)) { serviceContactService.Id = person.MemberId; serviceContactService.Load(); serviceContactService.Person.ForeName = person.ForeName; serviceContactService.Person.MaritalId = person.MaritalStatusId; serviceContactService.Person.PersonArmedForcesNo = person.ArmedForcesNo; serviceContactService.Person.PersonBirthName = person.BirthName; serviceContactService.Person.PersonDisability = person.DisabilityId; serviceContactService.Person.PersonDOB = person.DOB; serviceContactService.Person.PersonDOD = person.DOD; serviceContactService.Person.PersonEthnicityId = person.EthnicityId; serviceContactService.Person.PersonNINo = person.NINo; serviceContactService.Person.PersonOccupation = person.Occupation; serviceContactService.Person.PersonPlaceOfBirth = person.PlaceOfBirth; serviceContactService.Person.PersonPreviousName = person.PreviousName; serviceContactService.Person.PersonSalEnv = person.SalutationEnvelope; serviceContactService.Person.PersonSalLet = person.SalutationLettterFriendly; serviceContactService.Person.PersonSalletForm = person.SalutationLettterFormal; serviceContactService.Person.PersonSalutationlettterInformal = person.SalutationLettterInformal; serviceContactService.Person.Sex = person.Sex; serviceContactService.Person.Surname = person.Surname; serviceContactService.Person.Title = person.Title; returnValue.Success = serviceContactService.Save(out errorMessage); returnValue.Message = errorMessage; } else { if (contactService.ContactType == IRISLegal.IlbCommon.ContactType.Individual) { //Person Information for Individual contact contactService.Person.ForeName = person.ForeName; contactService.Person.MaritalId = person.MaritalStatusId; contactService.Person.PersonArmedForcesNo = person.ArmedForcesNo; contactService.Person.PersonBirthName = person.BirthName; contactService.Person.PersonDisability = person.DisabilityId; contactService.Person.PersonDOB = person.DOB; contactService.Person.PersonDOD = person.DOD; contactService.Person.PersonEthnicityId = person.EthnicityId; contactService.Person.PersonNINo = person.NINo; contactService.Person.PersonOccupation = person.Occupation; contactService.Person.PersonPlaceOfBirth = person.PlaceOfBirth; contactService.Person.PersonPreviousName = person.PreviousName; contactService.Person.PersonSalEnv = person.SalutationEnvelope; contactService.Person.PersonSalLet = person.SalutationLettterFriendly; contactService.Person.PersonSalletForm = person.SalutationLettterFormal; contactService.Person.PersonSalutationlettterInformal = person.SalutationLettterInformal; contactService.Person.Sex = person.Sex; contactService.Person.Surname = person.Surname; contactService.Person.Title = person.Title; } else { contactService.Load(organisation.OrganisationId); contactService.Organisation.IndustryId = organisation.IndustryId; contactService.Organisation.Name = organisation.Name; contactService.Organisation.RegisteredName = organisation.RegisteredName; contactService.Organisation.RegisteredNumber = organisation.RegisteredNo; contactService.Organisation.SubTypesId = organisation.SubTypeId; contactService.Organisation.VATNumber = organisation.VATNo; } returnValue.Success = contactService.Save(out errorMessage); returnValue.Message = errorMessage; } } finally { // Remove the logged on user's ApplicationSettings from the // list of concurrent sessions Host.UnloadLoggedOnUser(); } } catch (System.Data.SqlClient.SqlException) { returnValue.Success = false; returnValue.Message = Functions.SQLErrorMessage; } catch (Exception ex) { returnValue.Success = false; returnValue.Message = ex.Message; } return returnValue; }
public ServiceContactReturnValue GetServiceContact(Guid logonId, Guid contactId) { ServiceContactReturnValue returnValue = new ServiceContactReturnValue(); try { // Get the logged on user from the current logons and add their // ApplicationSettings the list of concurrent sessions. Host.LoadLoggedOnUser(logonId); try { Functions.RestrictRekoopIntegrationUser(UserInformation.Instance.DbUid); switch (UserInformation.Instance.UserType) { case DataConstants.UserType.Staff: // Can do everything break; case DataConstants.UserType.Client: case DataConstants.UserType.ThirdParty: throw new Exception("Access denied"); default: throw new Exception("Access denied"); } SrvServiceContact srvServiceContact = new SrvServiceContact(); srvServiceContact.Id = contactId; srvServiceContact.Load(); if (srvServiceContact.IsLoaded) { //General Info returnValue.ServiceContact = new Person(); returnValue.ServiceContact.Title = srvServiceContact.Person.Title; returnValue.ServiceContact.ForeName = srvServiceContact.Person.ForeName; returnValue.ServiceContact.Surname = srvServiceContact.Person.Surname; returnValue.ServiceContact.MaritalStatusId = srvServiceContact.Person.MaritalId; returnValue.ServiceContact.PreviousName = srvServiceContact.Person.PersonPreviousName; returnValue.ServiceContact.Occupation = srvServiceContact.Person.PersonOccupation; returnValue.ServiceContact.Sex = srvServiceContact.Person.Sex; returnValue.ServiceContact.DOB = srvServiceContact.Person.PersonDOB; returnValue.ServiceContact.DOD = srvServiceContact.Person.PersonDOD; returnValue.ServiceContact.PlaceOfBirth = srvServiceContact.Person.PersonPlaceOfBirth; returnValue.ServiceContact.BirthName = srvServiceContact.Person.PersonBirthName; returnValue.CampaignId = srvServiceContact.CampaignId; //Additional Info returnValue.ServiceContact.SalutationLettterFormal = srvServiceContact.Person.PersonSalletForm; returnValue.ServiceContact.SalutationLettterInformal = srvServiceContact.Person.PersonSalutationlettterInformal; returnValue.ServiceContact.SalutationLettterFriendly = srvServiceContact.Person.PersonSalLet; returnValue.ServiceContact.SalutationEnvelope = srvServiceContact.Person.PersonSalEnv; returnValue.ServiceContact.EthnicityId = srvServiceContact.Person.PersonEthnicityId; returnValue.ServiceContact.IsInArmedForces = srvServiceContact.Person.PersonInArmedForces; returnValue.ServiceContact.ArmedForcesNo = srvServiceContact.Person.PersonArmedForcesNo; returnValue.ServiceContact.NINo = srvServiceContact.Person.PersonNINo; returnValue.IsReceivingMarketingStatus = srvServiceContact.IsReceivingMarketingStatus; } } finally { // Remove the logged on user's ApplicationSettings from the // list of concurrent sessions Host.UnloadLoggedOnUser(); } } catch (System.Data.SqlClient.SqlException) { returnValue.Success = false; returnValue.Message = Functions.SQLErrorMessage; } catch (Exception ex) { returnValue.Success = false; returnValue.Message = ex.Message; } return returnValue; }