public ServiceMessage Update(AnalyticEditDTO analyticEditDTO) { string message = ""; bool success = true; if (success = Validate(analyticEditDTO, ref message)) { string login = analyticEditDTO.Login; string firstName = analyticEditDTO.FirstName; string lastName = analyticEditDTO.LastName; string phoneNumber = analyticEditDTO.PhoneNumber; try { int id = unitOfWork.Users.GetIdByLogin(login); AnalyticEntity analyticEntity = unitOfWork.Analytics.Get(id); analyticEntity.FirstName = firstName; analyticEntity.LastName = lastName; analyticEntity.PhoneNumber = phoneNumber; unitOfWork.Commit(); message = "Changed analytics's info"; } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } return(new ServiceMessage(message, success)); }
public ServiceMessage Delete(string login) { string message = ""; bool success = true; try { UserEntity userEntity = unitOfWork.Users.GetUserByLogin(login); if (userEntity != null) { int id = userEntity.Id; AnalyticEntity analyticEntity = unitOfWork.Analytics.Get(id); analyticEntity.IsDeleted = true; unitOfWork.Users.Remove(userEntity); unitOfWork.Accounts.DeleteAnalyticRole(login); unitOfWork.Commit(); message = String.Format("Deleted user '{0}'", login); } else { message = String.Format("User with login '{0}' was not found", login); success = false; } } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } return(new ServiceMessage(message, success)); }
public override ServiceMessage Register(AnalyticRegisterDTO analyticRegisterDTO) { string message = ""; bool success = true; IEnumerable <string> logins = null; try { logins = unitOfWork.Users.GetAll().Select(user => user.Login); } catch (Exception ex) { message = ex.Message; success = false; } if (success) { if (!Validate(analyticRegisterDTO, ref message)) { success = false; } else if (!registerValidator.Validate(analyticRegisterDTO, ref message)) { success = false; } else if (logins.Contains(analyticRegisterDTO.Login)) { success = false; message = "Such login already exists. Try another one"; } else { string hashedPassword = encryptor.Encrypt(analyticRegisterDTO.Password); try { unitOfWork.Accounts.RegisterAnalyticRole(analyticRegisterDTO.Login, hashedPassword); UserEntity userEntity = new UserEntity { Login = analyticRegisterDTO.Login, Role = unitOfWork.Roles.Get(RolesCodes.AnalyticRole) }; unitOfWork.Users.Add(userEntity); unitOfWork.Commit(); AnalyticEntity analyticEntity = new AnalyticEntity { Id = userEntity.Id, FirstName = analyticRegisterDTO.FirstName, LastName = analyticRegisterDTO.LastName, PhoneNumber = analyticRegisterDTO.PhoneNumber }; unitOfWork.Analytics.Add(analyticEntity); unitOfWork.Commit(); message = "Registered new analytic"; } catch (Exception ex) { message = ExceptionMessageBuilder.BuildMessage(ex); success = false; } } } return(new ServiceMessage(message, success)); }