Пример #1
0
        public async Task <ActionResult> CreateAccount(Guid key, SystemAccountDto systemAccount)
        {
            systemAccount.Identifier = systemAccount.Email;
            systemAccount.CreateNew  = true;
            var validationMsg = ValidateSystemAccount(systemAccount);

            if (validationMsg != string.Empty)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, validationMsg));
            }

            var requestDispacther    = CreateAsyncRequestDispatcher();
            var assignAccountRequest = new AssignAccountRequest
            {
                OrganizationKey  = (Guid)UserContext.Current.OrganizationKey,
                PatientKey       = key,
                SystemAccountDto = systemAccount,
            };

            requestDispacther.Add(assignAccountRequest);
            var response = await requestDispacther.GetAsync <AssignAccountResponse> ();

            if (response.SystemAccountDto.DataErrorInfoCollection.Any())
            {
                var msg = response.SystemAccountDto.DataErrorInfoCollection.FirstOrDefault().Message;
                _logger.Error(msg);
                return(new JsonResult
                {
                    Data = new
                    {
                        error = true,
                        errors = response.SystemAccountDto.DataErrorInfoCollection
                    }
                });
            }
            return(PartialView("EditorTemplates/SystemAccountDto", response.SystemAccountDto));
        }
Пример #2
0
 private void SetupAvailableRoles(SystemAccountDto systemAccountDto)
 {
     using (var connection = _connectionFactory.CreateConnection())
     {
         var allRoles =
             connection.Query <RoleDto>("SELECT RoleKey as 'Key', Name FROM SecurityModule.Role WHERE OrganizationKey = @OrganizationKey",
                                        new { OrganizationKey = UserContext.Current.OrganizationKey.ToString() });
         if (systemAccountDto == null || systemAccountDto.Roles == null)
         {
             ViewData["AvailableRoles"] =
                 allRoles.Select((r => new SelectListItem {
                 Selected = false, Text = r.Name, Value = r.Key.ToString()
             })).OrderBy(s => s.Text).ToList();
         }
         else
         {
             var availableRoles = allRoles.Where(r => systemAccountDto.Roles.All(role => role.Key != r.Key));
             ViewData["AvailableRoles"] =
                 availableRoles.Select((r => new SelectListItem {
                 Selected = false, Text = r.Name, Value = r.Key.ToString()
             })).OrderBy(s => s.Text).ToList();
         }
     }
 }