Ejemplo n.º 1
0
        public async Task <ValidationOutputDto> ValidateUpdateInput(UpdateUserProfileInputDto request)
        {
            //Check if id is existing
            var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.Id);

            if (userProfile == null)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "User is not existing.",
                           StatusCode = 400
                       }
            }
            ;


            //Check if Sdr type is valid
            var sdrTypeExists = Enum.IsDefined(typeof(SdrType), request.SdrTypeId);

            if (!sdrTypeExists)
            {
                return new ValidationOutputDto
                       {
                           IsSuccess  = false,
                           Message    = "SdrType is not valid.",
                           StatusCode = 400
                       }
            }
            ;

            if (request.DepartmentId.HasValue)
            {
                //Is Valid DepartmentId
                var department = await _unitOfWork.Repository <Department>().GetByIdAsync(request.DepartmentId.Value);

                if (department == null)
                {
                    return new ValidationOutputDto
                           {
                               IsSuccess  = false,
                               Message    = "DepartmentId is not valid.",
                               StatusCode = 400
                           }
                }
                ;
            }

            return(new ValidationOutputDto {
                IsSuccess = true,
                Message = string.Empty,
                StatusCode = 200
            });
        }
        public async Task <IActionResult> UpdateUserProfile([FromBody] UpdateUserProfileInputDto request)
        {
            try
            {
                //Validate Input
                var validationResponse = await _userProfileService.ValidateUpdateInput(request);

                if (!validationResponse.IsSuccess)
                {
                    return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message)));
                }

                await _userProfileService.UpdateUserProfile(request);

                return(Ok(new ApiResponse(200, "Success")));
            }
            catch
            {
                return(BadRequest(new ApiResponse(400, "Something went wrong.")));
            }
        }
Ejemplo n.º 3
0
        public async Task UpdateUserProfile(UpdateUserProfileInputDto request)
        {
            //Check if id is existing
            var userProfile = await _unitOfWork.Repository <UserProfile>().GetByIdAsync(request.Id);

            userProfile.FirstName    = request.FirstName;
            userProfile.LastName     = request.LastName;
            userProfile.ImageUrl     = request.ImageUrl;
            userProfile.LastName     = request.LastName;
            userProfile.LinkedInName = request.LinkedInName;
            userProfile.LinkedInUrl  = request.LinkedInUrl;
            userProfile.PostalCode   = request.PostalCode;
            userProfile.State        = request.State;
            userProfile.DepartmentId = request.DepartmentId;
            userProfile.DateHired    = request.DateHired;
            userProfile.Country      = request.Country;
            userProfile.Address      = request.Address;

            _unitOfWork.Repository <UserProfile>().Update(userProfile);
            await _unitOfWork.Complete();
        }