Example #1
0
        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));
        }
Example #2
0
        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));
        }