示例#1
0
        public async Task <ModificationHistory> SaveHistory(ModificationHistory history)
        {
            var savedEntity = await _context.ModificationHistories.AddAsync(history);

            if (await SaveChanges())
            {
                return(savedEntity.Entity);
            }
            return(null);
        }
        public async Task <ApiResponse> UpdateUserProfile(long userId, UserProfileReceivingDTO userProfileReceivingDTO)
        {
            var userToUpdate = await _userRepo.FindUserById(userId);

            if (userToUpdate == null)
            {
                return(new ApiResponse(404));
            }
            var summary = $"Initial details before change, \n {userToUpdate.ToString()} \n";

            userToUpdate.Address         = userProfileReceivingDTO.Address;
            userToUpdate.AltEmail        = userProfileReceivingDTO.AltEmail;
            userToUpdate.AltMobileNumber = userProfileReceivingDTO.AltMobileNumber;
            userToUpdate.Email           = userProfileReceivingDTO.Email;
            userToUpdate.FacebookHandle  = userProfileReceivingDTO.FacebookHandle;
            userToUpdate.FirstName       = userProfileReceivingDTO.FirstName;
            userToUpdate.ImageUrl        = userProfileReceivingDTO.ImageUrl;
            userToUpdate.InstagramHandle = userProfileReceivingDTO.InstagramHandle;
            userToUpdate.LastName        = userProfileReceivingDTO.LastName;
            userToUpdate.LinkedInHandle  = userProfileReceivingDTO.LinkedInHandle;
            userToUpdate.MobileNumber    = userProfileReceivingDTO.MobileNumber;
            userToUpdate.TwitterHandle   = userProfileReceivingDTO.TwitterHandle;
            userToUpdate.StaffId         = userProfileReceivingDTO.StaffId;
            userToUpdate.DateOfBirth     = Convert.ToDateTime(userProfileReceivingDTO.DateOfBirth);
            userToUpdate.CodeName        = userProfileReceivingDTO.CodeName;
            userToUpdate.OtherName       = userProfileReceivingDTO.OtherName;

            summary += $"Details after change, \n {userToUpdate.ToString()} \n";

            var updatedUser = await _userRepo.UpdateUserProfile(userToUpdate);

            if (updatedUser == null)
            {
                return(new ApiResponse(500));
            }

            ModificationHistory history = new ModificationHistory()
            {
                ModelChanged    = "User Profile",
                ChangeSummary   = summary,
                ChangedBy       = updatedUser,
                ModifiedModelId = updatedUser.Id
            };

            await _historyRepo.SaveHistory(history);

            var userProfileTransferDto = _mapper.Map <UserProfileTransferDTO>(updatedUser);

            return(new ApiOkResponse(userProfileTransferDto));
        }
示例#3
0
 public async Task <bool> RemoveModificationRecord(ModificationHistory record)
 {
     _context.ModificationHistories.Remove(record);
     return(await SaveChanges());
 }