Exemplo n.º 1
0
        public void SaveContact(string json)
        {
            DTO.ContactSaveDto contactSave = Newtonsoft.Json.JsonConvert.DeserializeObject <DTO.ContactSaveDto>(json);

            Data.Models.Contact contact = new Data.Models.Contact()
            {
                Name    = contactSave.Name,
                Surname = contactSave.Surname,
                Message = contactSave.Message
            };

            contact = productAdapter.Insert <Data.Models.Contact>(contact);
        }
Exemplo n.º 2
0
        public async Task <BaseResponse> SendInvitationAsync(string userId, string invitedUserName)
        {
            if (invitedUserName == null)
            {
                return(new ErrorResponse(new ArgumentNullException($"{nameof(invitedUserName)} cannot be null!")));
            }

            var invitedUserResponse = await _userService.GetUser(invitedUserName);

            var invitedUser = (invitedUserResponse as SuccessResponse <ApplicationUser>)?.Result;

            if (invitedUser == null)
            {
                return(invitedUserResponse);
            }

            if (invitedUser.Id == userId)
            {
                return(new ErrorResponse(new ApplicationException("Cannot send invitation to itself!")));
            }

            var myContactsResponse = GetPotentionalContacts(userId, invitedUserName);
            var myContacts         = (myContactsResponse as SuccessResponse <List <Contact> >)?.Result;

            if (myContacts == null)
            {
                return(myContactsResponse);
            }

            if (myContacts.All(c => c.UserName != invitedUserName))
            {
                return(new ErrorResponse(new ApplicationException("Contact already exists!")));
            }

            var newContact = new Data.Models.Contact
            {
                CreateDate    = DateTimeOffset.UtcNow,
                RequestedById = userId,
                RequestedToId = invitedUser.Id,
                Status        = Data.Models.InvitationStatuses.PendingAcceptance
            };

            _contactsRepository.AddContact(newContact);

            var result = LocalMapper.Map <Contact>(newContact);

            return(new SuccessResponse <Contact>(result));
        }
Exemplo n.º 3
0
        public IActionResult AddToContacts(string FriendId)
        {
            if (!db.Contacts.Any(c => c.UserId == this.currentUserId && c.FriendId == FriendId))
            {
                var contact = new Data.Models.Contact
                {
                    UserId   = this.currentUserId,
                    FriendId = FriendId
                };

                db.Add(contact);
                db.SaveChanges();
            }

            return(RedirectToAction(nameof(Index)));
        }