コード例 #1
0
 public ActionResult Create(ClientViewModel viewModel)
 {
     if (_facade.CreateContact(viewModel))
     {
         if (_facade.CanSynchronize(viewModel.UserId))
         {
             _sshSecretService.CreatePPPSecret(viewModel.UserId);
         }
         return View("Index", PrepareIndex(false));
     }
     return View(FillViewData(_facade.ClientService.GetModel(viewModel)));
 }
コード例 #2
0
        private ClientViewModel FillViewData(Client client)
        {
            ClientViewModel viewModel;

            var userHelper = new DropDownHelper();

            if (client == null)
            {
                viewModel = new ClientViewModel
                                {
                                    Roles = userHelper.GetRoles(ROLES.client.ToString()),
                                    Profiles = _profileService.SelectListProfiles(null),
                                    Statuses = _statusService.ListStatuses(null)
                                };
            }
            else
            {
                viewModel = _facade.ClientService.GetViewModel(client);
                viewModel.Roles = userHelper.GetRoles(client.Role);
                viewModel.Profiles = _profileService.SelectListProfiles(client.ProfileId);
                //viewModel.Statuses = _statusService.ListStatuses(client.Status.StatusId);// 2---------------
                viewModel.Statuses = _statusService.ListStatuses(client.Status.StatusId);
                viewModel.StatusId = client.Status.StatusId;
            }
            return viewModel;
        }
コード例 #3
0
 public Client GetModel(ClientViewModel viewModel)
 {
     Mapper.CreateMap<ClientViewModel, Client>();
     return Mapper.Map<ClientViewModel, Client>(viewModel);
 }
コード例 #4
0
 public ActionResult Edit(ClientViewModel viewModel)
 {
     if (_facade.EditContact(viewModel))
     {
         //todo: check client status for sync
         if (_facade.CanSynchronize(viewModel.UserId))
         {
             _sshSecretService.EditPPPSecret(viewModel.UserId);
         }
         return View("Index", PrepareIndex(false));
     }
     //var wClient = _facade.GetContact(viewModel.UserId);
     return View(FillViewData(_facade.ClientService.GetModel(viewModel)));
 }
コード例 #5
0
        private PPPSecret BuildSecret(ClientViewModel viewModel)
        {
            var secret = SecretService.GetPPPSecret(viewModel.UserId)
                ?? new PPPSecret
                       {
                           //Client = ClientService.GetClient(viewModel.UserId),
                           Name = viewModel.UserName
                       };

            if (!viewModel.UserName.Equals(secret.Name))
            {
                secret.OldName = secret.Name;
                secret.Name = viewModel.UserName;
            }

            secret.Client = ClientService.GetClient(viewModel.UserId); ;
            secret.Profile = SecretService.ProfileService.GetProfile(viewModel.ProfileId);
            secret.Disabled = !StatusService.GetStatus(viewModel.StatusId).IsActive;
            secret.Password = viewModel.Password;
            secret.Comment = viewModel.Comment;
            return secret;
        }
コード例 #6
0
        public bool CreateContact(ClientViewModel viewModel)
        {
            // Validation logic
            if (!ValidateContact(viewModel, true))
                return false;

            // Database logic
            try
            {
                viewModel.UserId = UserService.CreateUser(BuildUser(viewModel)).UserId;
                ClientService.CreateClient(BuildClient(viewModel));
                if (viewModel.Role.Equals(ROLES.client.ToString()))
                    return SecretService.CreatePPPSecret(BuildSecret(viewModel));
                return true;
            }
            catch (Exception ex)
            {
                //TODO: Roll Back created users
                _validationDictionary.AddError("_FORM", "Contact is not saved. " + ex.Message);
                return false;
            }
        }
コード例 #7
0
 private Client BuildClient(ClientViewModel viewModel)
 {
     var ctx = new CurrentContext();
     var client = ClientService.GetClient(viewModel.UserId)
         ?? new Client
                {
                    User = ctx.GetUser(viewModel.UserId)
                };
     client.Credit = viewModel.Credit;
     client.Status = StatusService.GetStatus(viewModel.StatusId);
     return client;
 }
コード例 #8
0
 private static User BuildUser(ClientViewModel viewModel)
 {
     Mapper.CreateMap<ClientViewModel, User>();
     return Mapper.Map<ClientViewModel, User>(viewModel);
 }
コード例 #9
0
 public bool ValidateContact(PPPSecret secret, bool creatingUser)
 {
     var model = new ClientViewModel
                     {
                         UserName = secret.Name,
                         Password = secret.Password
                     };
     return ValidateContact(model, creatingUser);
 }
コード例 #10
0
 public bool ValidateContact(ClientViewModel viewModel, bool creatingUser)
 {
     var isValid = true;
     if (creatingUser && !string.IsNullOrEmpty(viewModel.UserName))
     {
         var mUser = UserService.GetUser(viewModel.UserName);
         if (mUser != null)
         {
             _validationDictionary.AddError("UserName", "UserName " + viewModel.UserName + " already exist.");
             isValid = false;
         }
     }
     if (!ValidateField("UserName", viewModel.UserName, viewModel.UserName, true))
         isValid = false;
     if (!ValidateField("Password", viewModel.Password, viewModel.UserName, true))
         isValid = false;
     return isValid;
 }
コード例 #11
0
        public bool EditContact(ClientViewModel viewModel)
        {
            if (!ValidateContact(viewModel, false))
                return false;

            try
            {
                UserService.EditUser(BuildUser(viewModel));
                ClientService.EditClient(BuildClient(viewModel));
                if (viewModel.Role.Equals("client"))
                {
                    SecretService.EditPPPSecret(BuildSecret(viewModel));
                }
            }
            catch (Exception ex)
            {
                _validationDictionary.AddError("_FORM", "Contact is not saved. " + ex.Message);
                return false;
            }
            return true;
        }