Example #1
0
        /// <summary>
        /// Crea un usuario en base de datos, crea el usuario rol como invitado temporal
        /// crear la informaciĆ³n detalle del usuario con los datos vacios
        /// </summary>
        /// <param name="user">usuario a crear</param>
        /// <returns>UserResponseData</returns>
        public UserResponseData SaveUser(UserRequest user)
        {
            UserResponseData response = new UserResponseData();

            try
            {
                var userAppModel = user.RequestToModel();
                if (_unitOfWork.User.ExistData(x => x.UserName == userAppModel.UserName))
                {
                    response.Fail($"Ya existe un usuario con el nombre {userAppModel.UserName}, verifique!!");
                    return(response);
                }

                Guid guestRole      = _unitOfWork.Parameters.GetValueFromKey <Guid>("RolInvitadoId");
                Guid thirdId        = _unitOfWork.Parameters.GetValueFromKey <Guid>("EmptyGuid");
                int  typeDocumentCC = _unitOfWork.Parameters.GetValueFromKey <int>("TipoCedulaId");

                using (var trx = new TransactionScope())
                {
                    _unitOfWork.User.Create(userAppModel);

                    var userInfo = new UserInfoDetail()
                    {
                        UserId               = userAppModel.UserId,
                        DateCreated          = DateTime.Now,
                        UserCreatedId        = user.CreateId,
                        TypeIdentificationId = typeDocumentCC
                    };

                    _unitOfWork.UserInfoDetail.Create(userInfo);

                    var role = new UserRole()
                    {
                        UserId        = userAppModel.UserId,
                        DateCreated   = DateTime.Now,
                        RolId         = guestRole,
                        ThirdId       = thirdId,
                        UserCreatedId = user.CreateId,
                        UserRolStatus = true,
                        UserRolId     = Guid.NewGuid()
                    };

                    _unitOfWork.UserRoles.Create(role);
                    trx.Complete();
                }

                var userResponse = userAppModel.ModelToResponse();

                response.Response = userResponse;
                response.SuccesRequest($"Usuario con id {userAppModel.UserId} creado correctamente");
            }
            catch (Exception ex)
            {
                Logger.ErrorFatal($"{nameof(SaveUser)}", ex);
                response.Fail(ex);
            }
            return(response);
        }
Example #2
0
        /// <summary>
        /// Modifica el correo del usuario en base de datos
        /// </summary>
        /// <param name="user">usuario a modificar</param>
        /// <returns>UserResponseData</returns>
        public UserResponseData UpdateMailUser(UserRequest user)
        {
            UserResponseData response = new UserResponseData();

            try
            {
                var userAppModel = user.RequestToModel();

                if (!_unitOfWork.User.ExistData(x => x.UserId == userAppModel.UserId))
                {
                    response.Fail($"No existe el usuario con id {userAppModel.UserId}, verifique!!");
                    return(response);
                }

                if (_unitOfWork.User.ExistData(x => x.UserName == userAppModel.UserName && x.UserId != userAppModel.UserId))
                {
                    response.Fail($"Ya existe un usuario con el nombre {userAppModel.UserName}, verifique!!");
                    return(response);
                }


                var userBd = _unitOfWork.User.GetById(userAppModel.UserId);

                userBd.UserMail     = userAppModel.UserMail;
                userBd.UserUpdateId = user.CreateId;
                userBd.DateModified = DateTime.Now;

                _unitOfWork.User.Update(userBd);

                var userResponse = userBd.ModelToResponse();

                response.Response = userResponse;
                response.SuccesRequest($"Usuario con id {userAppModel.UserId} modificado correctamente");
            }
            catch (Exception ex)
            {
                Logger.ErrorFatal($"{nameof(UpdateMailUser)}", ex);
                response.Fail(ex);
            }
            return(response);
        }