public async Task <ComradeRequest> FetchComradeRequest(int senderId, string receiverName, bool createOnly = false) { var receiverId = await GetUserId(receiverName); if (senderId == receiverId) { throw new InvalidOperationException("comrade request sent by receiver."); } var request = await GetComradeRequest(senderId, receiverId); if (request == null) { request = new ComradeRequest() { SenderId = senderId, ReceiverId = receiverId, Since = DateTime.Now }; _context.ComradeRequests.Add(request); SaveChanges(); } else if (createOnly) { throw new SyncException("comrade request already exists."); } return(request); }
public Comrades MakeComradesFromRequest([NotNull] ComradeRequest request) { var comrades = new Comrades() { FirstId = request.SenderId, SecondId = request.ReceiverId, Since = DateTime.Now }; _context.Comrades.Add(comrades); return(comrades); }