예제 #1
0
        /// <summary>
        /// Сохраняет в базе модель создания элемента.
        /// </summary>
        /// <param name="token">Токен безопасности.</param>
        /// <param name="model">Модель создания сущности для сохранения.</param>
        /// <param name="result">Результат выполнения..</param>
        public override UserGridItemModel SaveCreateModel(SecurityToken token, UserCreateModel model, JGridSaveModelResult result)
        {
            var currentUser = RemontinkaServer.Instance.DataStore.GetUser(model.Login);

            if (currentUser != null)
            {
                result.ModelErrors.Add(new PairItem <string, string>(string.Empty, string.Format("Логин {0} существует уже в системе, введите другой", model.Login)));
                result.ModelErrors.Add(new PairItem <string, string>("Login", "Необходимо ввести новое значение"));
                return(null);
            }

            var entity = new Romontinka.Server.DataLayer.Entities.User();

            entity.PasswordHash  = model.Password;
            entity.LastName      = model.LastName;
            entity.MiddleName    = model.MiddleName;
            entity.Phone         = model.Phone;
            entity.Email         = model.Email;
            entity.FirstName     = model.FirstName;
            entity.LoginName     = model.Login;
            entity.ProjectRoleID = model.ProjectRoleID;
            RemontinkaServer.Instance.SecurityService.CreateUser(token, entity);

            foreach (var branchId in model.BranchIds)
            {
                RemontinkaServer.Instance.DataStore.SaveUserBranchMapItem(new UserBranchMapItem
                {
                    EventDate = DateTime.Now,
                    BranchID  = branchId,
                    UserID    = entity.UserID
                });
            }

            return(CreateItemModel(entity));
        }
예제 #2
0
 /// <summary>
 /// Создает модель строки грида по конкретной сущности.
 /// </summary>
 /// <param name="entity">Сущность.</param>
 /// <returns>Созданная модель.</returns>
 private UserGridItemModel CreateItemModel(Romontinka.Server.DataLayer.Entities.User entity)
 {
     return(new UserGridItemModel
     {
         Contacts = string.Format("{0} {1}", entity.Phone, entity.Email),
         FullName = string.Format("{0} {1} {2}", entity.LastName, entity.FirstName, entity.MiddleName),
         Id = entity.UserID,
         Login = entity.LoginName,
         ProjectRoleTitle = ProjectRoleSet.GetKindByID(entity.ProjectRoleID).Title,
     });
 }