Example #1
0
        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);
        }
Example #2
0
        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);
        }