public IDtoOutObjects Accept(DtoInAddFriend dtoInFriend) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInFriend.Token, dtoInFriend.DeviceName)) { User acceptant = TokenTools.getUserFromToken(dtoInFriend.Token); Friend friend = _friendsRepository.FindBy(x => x.IdReciever == acceptant.Id && x.IsDeleted == false && x.ObjectApplicant.Email == dtoInFriend.EmailReciever).FirstOrDefault(); if (friend == null) { UserDoesNotAskedForFriendshipException ex = new UserDoesNotAskedForFriendshipException(); error.Exception = ex; return(error); } if (friend.Accepted == true) { YouAreAlreadyFriendsExceptions ex = new YouAreAlreadyFriendsExceptions(); error.Exception = ex; return(error); } friend.Accepted = true; _friendsRepository.Edit(friend); _friendsRepository.Save(); ChatRoomTools.Create(new List <User>() { acceptant, _usersRepository.FindBy(x => x.Email == dtoInFriend.EmailReciever).FirstOrDefault() }); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Friend, DtoOutFriend>(); }); IMapper mapper = config.CreateMapper(); DtoOutFriend dtoOutFriend = new DtoOutFriend(); mapper.Map(friend, dtoOutFriend); return(dtoOutFriend); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Seen(DtoInSeenMessage dtoInSeenMessage) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInSeenMessage.Token, dtoInSeenMessage.DeviceName)) { SeenMessage seenMessage = new SeenMessage(); seenMessage.SeenTime = System.DateTime.Now; Message message = _messagesRepository.FindBy(x => x.Id == dtoInSeenMessage.IdMessage && x.IsDeleted == false).FirstOrDefault(); if (message == null) { error.Exception = new MessageWithThisIdDoesNotExistsException(); error.Message = "Message with this id {" + dtoInSeenMessage.IdMessage + "} does not exists"; return(error); } if (!ChatRoomTools.getListIdChatRoomFromUser(TokenTools.getUserFromToken(dtoInSeenMessage.Token).Id).Contains(message.IdChatRoom)) { error.Exception = new MessageIsNotInYourListOfChatRooms(); error.Message = "Message is not in your list of chatRooms"; return(error); } seenMessage.IdMessage = dtoInSeenMessage.IdMessage; seenMessage.IdUser = TokenTools.getUserFromToken(dtoInSeenMessage.Token).Id; SeenMessage result = _seenMessagesRepository.Add(seenMessage); var config = new MapperConfiguration(cfg => { cfg.CreateMap <SeenMessage, DtoOutSeenMessage>(); }); IMapper mapper = config.CreateMapper(); DtoOutSeenMessage dtoOutSeenMessage = new DtoOutSeenMessage(); mapper.Map(result, dtoOutSeenMessage); return(dtoOutSeenMessage); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }
public IDtoOutObjects Send(DtoInMessage dtoInMessage) { DtoOutError error = new DtoOutError(); if (TokenTools.Authentication(dtoInMessage.Token, dtoInMessage.DeviceName)) { Message message = null; try { message = new Message(dtoInMessage); } catch (ObjectIsNotValidException ex) { error.Exception = ex; error.Message = "this chatroom does not exists"; return(error); } if (ChatRoomTools.getListIdChatRoomFromUser(TokenTools.getUserFromToken(dtoInMessage.Token).Id).Contains(message.IdChatRoom)) { error.Exception = new MessageIsNotInYourListOfChatRooms(); error.Message = "Message is not in your list of chatRooms"; return(error); } Message result = _messagesRepository.Add(message); _messagesRepository.Save(); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Message, DtoOutMessage>(); }); IMapper mapper = config.CreateMapper(); DtoOutMessage dtoOutMessage = new DtoOutMessage(); mapper.Map(result, dtoOutMessage); return(dtoOutMessage); } else { NotAuthenticatedException ex = new NotAuthenticatedException(); error.Exception = ex; return(error); } }