public async Task <string> Like(int userId, int recipientId) { var like = await _dataAccess.GetLike(userId, recipientId); if (like != null) { _dataAccess.Delete(like); if (await _dataAccess.SaveAll()) { return("Ok"); } } if (await _dataAccess.GetUser(recipientId, false) == null) { return(null); } like = new Like { LikerId = userId, LikeeId = recipientId }; _dataAccess.Add <Like>(like); if (await _dataAccess.SaveAll()) { return("Ok"); } return("Failed to Like User"); }
public async Task <string> DeleteMessage(int id, int userid) { var message = await _dataAccess.GetMessage(id); if (message.SenderId == userid) { message.SenderDeleted = true; } else { message.RecipientDeleted = true; } if (message.SenderDeleted && message.RecipientDeleted) { _dataAccess.Delete(message); } if (await _dataAccess.SaveAll()) { return(null); } throw new Exception("Error deleting the message"); }
public async Task <Result> DeletePhoto(int usedId, int id) { Result result = new Result(); var user = await _dataContext.GetUser(usedId, true); var photo = await _dataContext.GetPhoto(id); if (!user.Photos.Any(p => p.Id == id)) { result.Data = null; } if (photo.IsMain) { result.Message = "You cannot delete your main photo"; } if (photo.PublicId != null) { var deleteParams = new DeletionParams(photo.PublicId); var cloudinaryResponse = _cloudinary.Destroy(deleteParams); if (cloudinaryResponse.Result == "ok") { _dataContext.Delete(photo); } } if (photo.PublicId == null) { _dataContext.Delete(photo); } if (await _dataContext.SaveAll()) { _result.isValid = true; } return(result); }