private void DoUpdate(EcaOrganization organization, Organization organizationToUpdate, Organization parentOrganization, OrganizationType organizationType) { throwIfOrganizationByIdNull(organization.OrganizationId, organizationToUpdate); if (organization.ParentOrganizationId.HasValue) { throwIfOrganizationByIdNull(organization.ParentOrganizationId.Value, parentOrganization); } throwIfOrganizationTypeByIdNull(organization.OrganizationTypeId, organizationType); organizationValidator.ValidateUpdate(GetOrganizationValidationEntity(organization, organizationToUpdate, parentOrganization)); organization.Update.SetHistory(organizationToUpdate); SetPointOfContacts(organization.ContactIds.ToList(), organizationToUpdate); SetOrganizationRoles(organization.OrganizationRoleIds.ToList(), organizationToUpdate); organizationToUpdate.Name = organization.Name; organizationToUpdate.Description = organization.Description; if (parentOrganization != null) { organizationToUpdate.ParentOrganization = parentOrganization; organizationToUpdate.ParentOrganizationId = parentOrganization.OrganizationId; } else { organizationToUpdate.ParentOrganization = null; organizationToUpdate.ParentOrganizationId = null; } organizationToUpdate.OrganizationTypeId = organization.OrganizationTypeId; organizationToUpdate.Website = organization.Website; }
/// <summary> /// Updates an organization. /// </summary> /// <param name="organization">The updated organization.</param> public void Update(EcaOrganization organization) { var organizationToUpdate = CreateGetOrganizationByIdQuery(organization.OrganizationId).FirstOrDefault(); Organization parentOrg = null; if (organization.ParentOrganizationId.HasValue) { parentOrg = this.Context.Organizations.Find(organization.ParentOrganizationId.Value); } var organizationType = this.Context.OrganizationTypes.Find(organization.OrganizationTypeId); DoUpdate(organization, organizationToUpdate, parentOrg, organizationType); }
/// <summary> /// Updates an organization. /// </summary> /// <param name="organization">The updated organization.</param> public async Task UpdateAsync(EcaOrganization organization) { var organizationToUpdate = await CreateGetOrganizationByIdQuery(organization.OrganizationId).FirstOrDefaultAsync(); Organization parentOrg = null; if (organization.ParentOrganizationId.HasValue) { parentOrg = await this.Context.Organizations.FindAsync(organization.ParentOrganizationId.Value); } var organizationType = await this.Context.OrganizationTypes.FindAsync(organization.OrganizationTypeId); DoUpdate(organization, organizationToUpdate, parentOrg, organizationType); }
private OrganizationValidationEntity GetOrganizationValidationEntity(EcaOrganization organization, Organization organizationToUpdate, Organization parentOrganization) { return(new OrganizationValidationEntity(name: organization.Name, organizationTypeId: organization.OrganizationTypeId)); }