public virtual Request UpdateRequest(RequestModel <TUserModel> requestModel) { var request = ConvertToRequest(requestModel); var updatedRequest = RequestsRepository.UpdateRequest(request, !RequestSecurityService.InRole(AclRole.Administrator)); return(updatedRequest); }
public IEnumerable <MailMessage> UpdateRequestEmails(Request request) { var messages = new List <MailMessage>(); if (request.User.Roles.Any(r => r.IdRole == 1)) { return(messages); } if (_requestSecurityService.InRole(AclRole.Administrator)) { return(messages); } var requester = request.User; var waitAgreementUsers = _requestService.GetWaitAgreementUsers(request.IdRequest, _requestService.GetRequestAgreements(request.IdRequest).ToList()).ToList(); if (!string.IsNullOrEmpty(requester.Email)) { var message = UpdateRequestRequesterEmail(request, waitAgreementUsers); messages.Add(message); } foreach (var user in waitAgreementUsers) { if (string.IsNullOrEmpty(user.Email)) { continue; } var message = UpdateRequestCoordinatorEmail(request, user); messages.Add(message); } if (request.IdCurrentRequestStateType == 2) { var users = _requestSecurityService.GetUsersBy(AclRole.Dispatcher) .Union(_requestSecurityService.GetUsersBy(AclRole.Registrar)); foreach (var user in users) { if (string.IsNullOrEmpty(user.Email)) { continue; } var message = UpdateRequestDispatcherEmail(request, user); messages.Add(message); } } return(messages); }