public ListCannedTextForUserResponse ListCannedTextForUser(ListCannedTextForUserRequest request) { var assembler = new CannedTextAssembler(); var criterias = new List<CannedTextSearchCriteria>(); var personalCannedTextCriteria = new CannedTextSearchCriteria(); personalCannedTextCriteria.Staff.EqualTo(this.CurrentUserStaff); if (!string.IsNullOrEmpty(request.Name)) personalCannedTextCriteria.Name.EqualTo(request.Name); criterias.Add(personalCannedTextCriteria); if (this.CurrentUserStaff.Groups != null && this.CurrentUserStaff.Groups.Count > 0) { var groupCannedTextCriteria = new CannedTextSearchCriteria(); groupCannedTextCriteria.StaffGroup.In(this.CurrentUserStaff.Groups); if (!string.IsNullOrEmpty(request.Name)) groupCannedTextCriteria.Name.EqualTo(request.Name); criterias.Add(groupCannedTextCriteria); } var results = PersistenceContext.GetBroker<ICannedTextBroker>().Find(criterias.ToArray(), request.Page); var staffCannedText = CollectionUtils.Map<CannedText, CannedTextSummary>(results, cannedText => assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)); return new ListCannedTextForUserResponse(staffCannedText); }
public UpdateCannedTextResponse UpdateCannedText(UpdateCannedTextRequest request) { CheckCannedTextWriteAccess(request.Detail); var cannedText = this.PersistenceContext.Load <CannedText>(request.CannedTextRef); var assembler = new CannedTextAssembler(); assembler.UpdateCannedText(cannedText, request.Detail, this.CurrentUserStaff, this.PersistenceContext); PersistenceContext.SynchState(); return(new UpdateCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext))); }
public EditCannedTextCategoriesResponse EditCannedTextCategories(EditCannedTextCategoriesRequest request) { var cannedTexts = CollectionUtils.Map <EntityRef, CannedText>( request.CannedTextRefs, cannedTextRef => this.PersistenceContext.Load <CannedText>(cannedTextRef)); foreach (var cannedText in cannedTexts) { CheckCannedTextWriteAccess(cannedText); cannedText.Category = request.Category; } this.PersistenceContext.SynchState(); var assembler = new CannedTextAssembler(); return(new EditCannedTextCategoriesResponse(CollectionUtils.Map <CannedText, CannedTextSummary>( cannedTexts, cannedText => assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)))); }
public AddCannedTextResponse AddCannedText(AddCannedTextRequest request) { CheckCannedTextWriteAccess(request.Detail); if (string.IsNullOrEmpty(request.Detail.Name)) { throw new RequestValidationException(SR.ExceptionCannedTextNameRequired); } if (string.IsNullOrEmpty(request.Detail.Category)) { throw new RequestValidationException(SR.ExceptionCannedTextCategoryRequired); } var assembler = new CannedTextAssembler(); var cannedText = assembler.CreateCannedText(request.Detail, this.CurrentUserStaff, this.PersistenceContext); PersistenceContext.Lock(cannedText, DirtyState.New); PersistenceContext.SynchState(); return(new AddCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext))); }
public ListCannedTextForUserResponse ListCannedTextForUser(ListCannedTextForUserRequest request) { var assembler = new CannedTextAssembler(); var criterias = new List <CannedTextSearchCriteria>(); var personalCannedTextCriteria = new CannedTextSearchCriteria(); personalCannedTextCriteria.Staff.EqualTo(this.CurrentUserStaff); if (!string.IsNullOrEmpty(request.Name)) { personalCannedTextCriteria.Name.EqualTo(request.Name); } criterias.Add(personalCannedTextCriteria); if (this.CurrentUserStaff.Groups != null && this.CurrentUserStaff.Groups.Count > 0) { var groupCannedTextCriteria = new CannedTextSearchCriteria(); groupCannedTextCriteria.StaffGroup.In(this.CurrentUserStaff.Groups); if (!string.IsNullOrEmpty(request.Name)) { groupCannedTextCriteria.Name.EqualTo(request.Name); } criterias.Add(groupCannedTextCriteria); } var results = PersistenceContext.GetBroker <ICannedTextBroker>().Find(criterias.ToArray(), request.Page); var staffCannedText = CollectionUtils.Map <CannedText, CannedTextSummary>(results, cannedText => assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)); return(new ListCannedTextForUserResponse(staffCannedText)); }
public EditCannedTextCategoriesResponse EditCannedTextCategories(EditCannedTextCategoriesRequest request) { var cannedTexts = CollectionUtils.Map<EntityRef, CannedText>( request.CannedTextRefs, cannedTextRef => this.PersistenceContext.Load<CannedText>(cannedTextRef)); foreach (var cannedText in cannedTexts) { CheckCannedTextWriteAccess(cannedText); cannedText.Category = request.Category; } this.PersistenceContext.SynchState(); var assembler = new CannedTextAssembler(); return new EditCannedTextCategoriesResponse(CollectionUtils.Map<CannedText, CannedTextSummary>( cannedTexts, cannedText => assembler.GetCannedTextSummary(cannedText, this.PersistenceContext))); }
public UpdateCannedTextResponse UpdateCannedText(UpdateCannedTextRequest request) { CheckCannedTextWriteAccess(request.Detail); var cannedText = this.PersistenceContext.Load<CannedText>(request.CannedTextRef); var assembler = new CannedTextAssembler(); assembler.UpdateCannedText(cannedText, request.Detail, this.CurrentUserStaff, this.PersistenceContext); PersistenceContext.SynchState(); return new UpdateCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)); }
public AddCannedTextResponse AddCannedText(AddCannedTextRequest request) { CheckCannedTextWriteAccess(request.Detail); if (string.IsNullOrEmpty(request.Detail.Name)) throw new RequestValidationException(SR.ExceptionCannedTextNameRequired); if (string.IsNullOrEmpty(request.Detail.Category)) throw new RequestValidationException(SR.ExceptionCannedTextCategoryRequired); var assembler = new CannedTextAssembler(); var cannedText = assembler.CreateCannedText(request.Detail, this.CurrentUserStaff, this.PersistenceContext); PersistenceContext.Lock(cannedText, DirtyState.New); PersistenceContext.SynchState(); return new AddCannedTextResponse(assembler.GetCannedTextSummary(cannedText, this.PersistenceContext)); }