Esempio n. 1
0
        public ActionResult Add(RoleAddViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                Role role = new Role
                {
                    EntityInfo  = EntityInfo.Empty(Dom.EntityType.Role.Id),
                    Name        = viewModel.Name,
                    Description = viewModel.Description
                };
                EntityContext.AddEntityProgress(role.EntityInfo, new EntityProgress
                {
                    OrganizationId     = Dom.Common.OrganizationId,
                    EntityStateAfterId = Dom.EntityType.Role.State.Created
                });
                EntityContext.AddEntityProgress(role.EntityInfo, new EntityProgress
                {
                    OrganizationId      = Dom.Common.OrganizationId,
                    EntityStateBeforeId = Dom.EntityType.Role.State.Created,
                    EntityStateAfterId  = Dom.EntityType.Role.State.Active
                });
                EntityContext.AddEntityOrganization(role.EntityInfo, Dom.Common.OrganizationId, Dom.EntityType.Role.State.Active);
                _roleRepository.AddOrUpdate(role);
                _roleRepository.UnitOfWork.SaveChanges();

                return(RedirectToAction(Mvc.Controller.Role.List, Mvc.Controller.Role.Name));
            }
            return(View(Mvc.View.Role.Add, viewModel));
        }
Esempio n. 2
0
        public ActionResult Add(UserAddViewModel viewModel)
        {
            if (_userRepository.Exists(viewModel.Email))
            {
                AddModelError(viewModel, m => m.Email, Dom.Translation.User.DuplicateEmail);
            }
            if (ModelState.IsValid)
            {
                var user = new User
                {
                    EntityInfo  = EntityInfo.Empty(Dom.EntityType.User.Id),
                    FirstName   = viewModel.FirstName,
                    LastName    = viewModel.LastName,
                    MiddleName  = viewModel.MiddleName,
                    Email       = viewModel.Email,
                    Password    = EncryptionManager.Encrypt(viewModel.Password),
                    DateOfBirth = viewModel.DateOfBirth,
                    GenderId    = viewModel.GenderId,
                    Phone       = viewModel.Phone,
                    Mobile      = viewModel.Mobile,
                    LanguageId  = viewModel.LanguageId != 0 ? viewModel.LanguageId : Dom.Language.System,
                    Salutation  = viewModel.Salutation
                };
                if (!string.IsNullOrWhiteSpace(viewModel.Address?.FormattedAddress))
                {
                    user.Address.City             = viewModel.Address.City;
                    user.Address.PostalCode       = viewModel.Address.PostalCode;
                    user.Address.Street           = viewModel.Address.Street;
                    user.Address.Number           = viewModel.Address.Number;
                    user.Address.Latitude         = double.Parse(viewModel.Address.Latitude.Replace(".", ","));
                    user.Address.Longitude        = double.Parse(viewModel.Address.Longitude.Replace(".", ","));
                    user.Address.FormattedAddress = viewModel.Address.FormattedAddress;
                }
                user.UserRoles = new List <UserRole>();
                var organizationId = UserContext.User.OrganizationId;
                if (viewModel.RoleOrganizationId != 0)
                {
                    viewModel.RoleIds?.ToList().ForEach(r =>
                    {
                        user.UserRoles.Add(new UserRole
                        {
                            OrganizationId = viewModel.RoleOrganizationId,
                            RoleId         = r
                        });
                    });
                    organizationId = viewModel.RoleOrganizationId;
                }

                EntityContext.AddEntityProgress(user.EntityInfo, new EntityProgress
                {
                    OrganizationId     = organizationId,
                    EntityStateAfterId = Dom.EntityType.User.State.Created
                });
                EntityContext.AddEntityProgress(user.EntityInfo, new EntityProgress
                {
                    OrganizationId      = organizationId,
                    EntityStateBeforeId = Dom.EntityType.User.State.Created,
                    EntityStateAfterId  = Dom.EntityType.User.State.Active
                });
                EntityContext.AddEntityOrganization(user.EntityInfo, organizationId, Dom.EntityType.User.State.Active);
                _userRepository.AddOrUpdate(user);
                _userRepository.UnitOfWork.SaveChanges();

                return(RedirectToAction(Mvc.Controller.User.List, Mvc.Controller.User.Name));
            }
            ICollection <SelectListItemCount> organizationItems = _organizationRepository.GetOrganizations(
                UserContext.User.Id,
                UserContext.User.OrganizationId
                );

            viewModel.OrganizationItems = Mapper.Map <ICollection <SelectListItem> >(organizationItems);
            ICollection <SelectListItemCount> roleItems = _roleRepository.GetRoles(
                UserContext.User.Id,
                UserContext.User.OrganizationId
                );

            viewModel.RoleItems     = Mapper.Map <ICollection <SelectListItem> >(roleItems);
            viewModel.GenderItems   = InitGenderSelectListItems();
            viewModel.LanguageItems = InitLanguageSelectListItems();

            return(View(Mvc.View.User.Add, viewModel));
        }