public OperationResponse <AppUserUpdateCommandOutputDTO> Execute(AppUserUpdateCommandInputDTO input)
        {
            var result = new OperationResponse <AppUserUpdateCommandOutputDTO>();

            try
            {
                using (var dbContextScope = this.DbContextScopeFactory.Create())
                {
                    var getByIdResult = this.Repository.GetById(input.Id);
                    result.AddResponse(getByIdResult);
                    if (getByIdResult.IsSucceed)
                    {
                        var entity = getByIdResult.Bag;
                        entity.FirstName  = input.FirstName;
                        entity.LastName   = input.LastName;
                        entity.PictureUrl = input.PictureUrl;
                        try
                        {
                            dbContextScope.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            result.AddException($"Error updating user", ex);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                result.AddException($"Fatal error updating user", ex);
            }

            return(result);
        }
        public IActionResult Update([FromBody] AppUserUpdateCommandInputDTO model)
        {
            var result = this.UpdateCommand.Execute(model);

            return(result.IsSucceed ? (IActionResult)this.Ok(result) : (IActionResult)this.BadRequest(result));
        }