internal IFacadeUpdateResult <SubsiteData> SaveSubsite(SubsiteData dto) { ArgumentValidator.IsNotNull("dto", dto); FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>(); ISubsiteService service = UnitOfWork.GetService <ISubsiteService>(); Subsite instance = RetrieveOrNew <SubsiteData, Subsite, ISubsiteService>(result.ValidationResult, dto.Id); if (result.IsSuccessful) { instance.Address = dto.Address; instance.Phone = dto.Phone; instance.Fax = dto.Fax; instance.Email = dto.Email; instance.Website = dto.Website; instance.BackColor = dto.BackColor; instance.TitleColor = dto.TitleColor; instance.BannerUrl = dto.BannerUrl; if (dto.SubsiteFolderId != null) { instance.SubsiteFolderId = dto.SubsiteFolderId; } instance.DefaultLanguageId = dto.DefaultLanguageId; instance.DefaultLocationId = dto.DefaultLocationId; instance.BannerHeight = dto.BannerHeight; instance.IsPublished = dto.IsPublished; var saveQuery = service.Save(instance); result.AttachResult(instance.RetrieveData <SubsiteData>()); result.Merge(saveQuery); } return(result); }
internal TDto RetrieveOrNewSubsite <TDto>(object instanceId, IDataConverter <SubsiteData, TDto> converter) where TDto : class { ArgumentValidator.IsNotNull("converter", converter); ISubsiteService service = UnitOfWork.GetService <ISubsiteService>(); FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>(); Subsite instance = RetrieveOrNew <SubsiteData, Subsite, ISubsiteService>(result.ValidationResult, instanceId); if (result.IsSuccessful) { return(converter.Convert(instance.RetrieveData <SubsiteData>())); } else { return(null); } }
internal IFacadeUpdateResult <SubsiteData> DeleteSubsite(object instanceId) { ArgumentValidator.IsNotNull("instanceId", instanceId); FacadeUpdateResult <SubsiteData> result = new FacadeUpdateResult <SubsiteData>(); ISubsiteService service = UnitOfWork.GetService <ISubsiteService>(); var query = service.Retrieve(instanceId); if (query.HasResult) { Subsite instance = query.ToBo <Subsite>(); var saveQuery = instance.Delete(); result.Merge(saveQuery); } else { AddError(result.ValidationResult, "SubsiteCannotBeFound"); } return(result); }