public void Create(string email, string password) { CabinetUserDTO existsUser = getUserDTO(u => u.Email.ToUpper() == email.ToUpper()); if (existsUser != null) { setErrorMsg("Email", Resource.UniqueEmailConstraintMsg); } if (!FormatConfirm.IsEmail(email)) { setErrorMsg("Email", Resource.EmailConstraintMsg); } checkStringConstraint("Password", password, true, 100, 5); if (errorMessages.Count > 0) { throw new DataServiceException(Resource.GeneralConstraintMsg, errorMessages); } CabinetUser user = new CabinetUser() { Email = email, Password = password }; userRepository.Save(user); repository.SaveChanges(); }
public void CabinetUserService_Get() { CabinetUser u = userService.Get(1); Assert.AreEqual(u.Id, listUser[0].Id); Assert.AreEqual(u.Email, listUser[0].Email); }
public void SetOneSignalUserId(long userId, string oneSignalUserId) { CabinetUser user = userRepository.Get(userId); user.OneSignalUserId = oneSignalUserId; userRepository.Save(user); repository.SaveChanges(); }
public void ChangeSubscribe(long userId) { CabinetUser user = userRepository.Get(userId); user.Subscribe = !user.Subscribe; userRepository.Save(user); repository.SaveChanges(); }
public IHttpActionResult Get() { return(execute(delegate() { long userId = User.Identity.GetUserId <long>(); CabinetUser user = userService.Get(userId); if (user.Employee != null) { user.Employee.User = null; } result = Json(new { success = true, data = user }); })); }
private CabinetUserDTO getUserDTO(Expression <Func <CabinetUser, bool> > predicate) { CabinetUser user = userRepository.Get(predicate); if (user == null) { return(null); } CabinetUserDTO dto = new CabinetUserDTO() { Email = user.Email, Password = user.Password, Id = user.Id, FM = user.Employee != null ? user.Employee.FM : null, IM = user.Employee != null ? user.Employee.IM : null, OT = user.Employee != null ? user.Employee.OT : null }; return(dto); }
public void Save(EmployeeDTO dto) { checkStringConstraint("FM", dto.FM, true, 100, 2); checkStringConstraint("IM", dto.IM, true, 100, 2); checkStringConstraint("OT", dto.OT, true, 100, 2); string pattern = "[a-zA-Z]"; var results = Regex.Matches(dto.FM, pattern); foreach (Match result in results) { setErrorMsg("FM", String.Format(Resource.NotCyrillicConstraintMsg, result.Value.ToUpper(), result.Index + 1)); } results = Regex.Matches(dto.IM, pattern); foreach (Match result in results) { setErrorMsg("IM", String.Format(Resource.NotCyrillicConstraintMsg, result.Value.ToUpper(), result.Index + 1)); } results = Regex.Matches(dto.OT, pattern); foreach (Match result in results) { setErrorMsg("OT", String.Format(Resource.NotCyrillicConstraintMsg, result.Value.ToUpper(), result.Index + 1)); } checkStringConstraint("Cabinet", dto.Cabinet, true, 100, 1); checkStringConstraint("Phone", dto.Phone, true, 100, 5); if (errorMessages.Count > 0) { throw new DataServiceException(Resource.GeneralConstraintMsg, errorMessages); } Employee entity = employeeRepository.Get(dto.Id); CabinetUser user = null; if (dto.Id > 0) { user = userRepository.Get(dto.Id); } Post post = null; if (!String.IsNullOrWhiteSpace(dto.PostName)) { post = postRepository.Get(new SimpleEntityByNameEqualSpecification <Post>(dto.PostName)); } bool isNew = entity == null; if (isNew) { //проверяем, не был ли ранее создан сотрудник entity = employeeRepository.Get( e => e.FM.ToUpper() == dto.FM.ToUpper() && e.IM.ToUpper() == dto.IM.ToUpper() && e.OT.ToUpper() == dto.OT.ToUpper() && e.Organization.Id == dto.OrganizationId && e.Post.Id == (post != null? post.Id: 0) && e.Phone.ToUpper() == dto.Phone.ToPhoneList()); if (entity != null) //сотрудник был создан ранее { dto.Id = entity.Id; if (user != null) //1. ф-я вызывается из личного кабинета { if (entity.Id == user.Id) //1.1. сотрудник был создан ранее из личного кабинета { return; } else //1.2. сотрудник был создан ранее из АРМ Диспетчера { //Требуется вручную в БД изменить Id у user, за счет чего произойдёт привязка 1-1 к employee //Вообще говоря, это может быть каким-то злономеренным действием, //когда пользователь пытается привязаться к существующему другому сотруднику throw new DataServiceException(Resource.UniqueEmployeeConstraintMsg); } } else //2. ф-я вызывается из АРМ Диспетчера { if (entity.User != null) //2.1. сотрудник был создан ранее из личного кабинета { return; } else //2.2. сотрудник был создан ранее из АРМ Диспетчера { return; } } } else { entity = new Employee(); } } else { if (entity.Organization != null && dto.OrganizationId.HasValue && entity.Organization.Id != dto.OrganizationId) { //удаляем из профиля заявителя объекты, на которые он не сможет подавать заявки, //так как для них не определится Исполнитель var listPersonalProfileObject = queryHandler .Handle <EmployeeObjectQueryParam, IEnumerable <EmployeeObjectDTO>, IQuery <EmployeeObjectQueryParam, IEnumerable <EmployeeObjectDTO> > > (new EmployeeObjectQueryParam { EmployeeId = entity.User.Id }, _employeeObjectQuery); IEnumerable <OrganizationObjectTypeWorker> listOrganizationObjectTypeWorker = organizationObjectTypeWorkerRepository.GetList(t => t.Organization.Id == dto.OrganizationId).ToList(); IEnumerable <EmployeeObjectDTO> toRemoval = listPersonalProfileObject .Where(t => !listOrganizationObjectTypeWorker .Select(r => r.ObjectType.Id) .Contains(t.ObjectType.Id)); foreach (var p in toRemoval) { employeeObjectRepository.Delete(p.Id); } } }; entity.FM = dto.FM.Trim().ToFirstLetterUpper(); entity.IM = dto.IM.Trim().ToFirstLetterUpper(); entity.OT = dto.OT.Trim().ToFirstLetterUpper(); entity.Cabinet = dto.Cabinet.Trim().ToUpper(); entity.Phone = dto.Phone.ToPhoneList(); if (dto.OrganizationId.HasValue) { entity.Organization = organizationRepository.Get(dto.OrganizationId.Value); } else { entity.Organization = null; } if (!String.IsNullOrWhiteSpace(dto.PostName)) { if (post == null) { post = new Post() { Name = dto.PostName.Trim().ToFirstLetterUpper() }; postRepository.Save(post); } entity.Post = post; } else { entity.Post = null; } if (isNew && user != null) { employeeRepository.Insert(entity, user.Id); } else { employeeRepository.Save(entity); } repository.SaveChanges(); dto.Id = entity.Id; }