예제 #1
0
        public IResult ConfirmContactRequest(ContactRequestDto contactRequestDto)
        {
            using WordBookContext db = new();
            ContactRequest confirmedContactRequest = db.ContactRequests.Where(c => c.ContactRequestId == contactRequestDto.ContactRequestId).SingleOrDefault();

            if (confirmedContactRequest == null)
            {
                return(new ErrorResult(Messages.ContactRequestNotFound));
            }
            Contact addedContactToSender = new();

            addedContactToSender.ContactId = 0;
            addedContactToSender.UserId    = confirmedContactRequest.SenderId;
            addedContactToSender.FriendId  = confirmedContactRequest.ReceiverId;
            addedContactToSender.CreatedAt = System.DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
            db.Contacts.Add(addedContactToSender);
            Contact addedContactToReceiver = new();

            addedContactToReceiver.ContactId = 0;
            addedContactToReceiver.UserId    = confirmedContactRequest.ReceiverId;
            addedContactToReceiver.FriendId  = confirmedContactRequest.SenderId;
            addedContactToReceiver.CreatedAt = System.DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
            db.Contacts.Add(addedContactToReceiver);
            db.ContactRequests.Remove(confirmedContactRequest);
            db.SaveChanges();
            return(new SuccessResult(Messages.ContactRequestConfirmed));
        }
예제 #2
0
        public IResult DeleteContactRequest(ContactRequestDto contactRequestDto)
        {
            using WordBookContext db = new();
            ContactRequest deletedContactRequest = db.ContactRequests.Where(c => c.ContactRequestId == contactRequestDto.ContactRequestId).SingleOrDefault();

            if (deletedContactRequest == null)
            {
                return(new ErrorResult(Messages.ContactRequestNotFound));
            }
            db.ContactRequests.Remove(deletedContactRequest);
            db.SaveChanges();
            return(new SuccessResult(Messages.ContactRequestDeleted));
        }
예제 #3
0
        public async Task <IActionResult> GetContact([FromQuery] ContactRequestDto request)
        {
            var path   = string.Format("v1/contact?{0}", request.GetQueryString());
            var result = await ACBOpenApi.Call <dynamic>(Request.HttpContext, MethodBase.GET, path, null, null);

            if (result.Data != null)
            {
                return(Ok(result));
            }
            else
            {
                return(BadRequest(result));
            }
        }
예제 #4
0
        public IResult SendContactRequest(ContactRequestDto contactRequestDto)
        {
            using WordBookContext db = new();
            if (db.ContactRequests.Any(c => c.SenderId == contactRequestDto.SenderId && c.ReceiverId == contactRequestDto.ReceiverId))
            {
                return(new ErrorResult(Messages.ContactRequestAlreadySent));
            }
            ContactRequest sentContactRequest = new()
            {
                ContactRequestId = 0,
                SenderId         = contactRequestDto.SenderId,
                ReceiverId       = contactRequestDto.ReceiverId,
                CreatedAt        = System.DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString()
            };

            db.ContactRequests.Add(sentContactRequest);
            db.SaveChanges();
            return(new SuccessResult(Messages.ContactRequestSent));
        }