public async Task <ActionResult> WriteMessage([FromBody] Message message) { var results = new GenericReturnObject(); try { if (String.IsNullOrEmpty(message.Content)) { results.Message = "Message has no content"; results.Success = false; return(BadRequest()); } else { message.TimeSent = DateTimeOffset.Now; results.Success = await _messageService.SendMessage(message); if (results.Success) { await _messageClient.Clients.All.SendAsync("ReceiveMessage", new MessageReceivedDTO { From = message.From, To = message.To }); } } } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(results)); }
public async Task <ActionResult> GetUserMessages([FromQuery] Guid user_id, [FromQuery] Guid contact_id) { var results = new GenericReturnObject <List <ConversationDTO> >(); try { if (user_id == Guid.Empty) { results.Message = "Invalid userid"; results.Success = false; return(BadRequest(results)); } if (contact_id == Guid.Empty) { results.Message = "Invalid contactid"; results.Success = false; return(BadRequest(results)); } results.Success = true; results.Values = await _messageService.GetMessageList(user_id, contact_id); } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(JsonConvert.SerializeObject(results))); }
public async Task <ActionResult> GetUser([FromQuery] Guid user_id) { var results = new GenericReturnObject <UserDTO>(); try { if (user_id == Guid.Empty) { results.Message = "Invalid userid"; results.Success = false; return(BadRequest(results)); } var user = await _userService.GetUser(user_id); if (user == default) { results.Message = "User doesn't exist"; results.Success = false; return(BadRequest(results)); } results.Values = _mapper.Map <User, UserDTO>(user); } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(JsonConvert.SerializeObject(results))); }
public async Task <ActionResult> SearchContactByName([FromQuery] Guid user_id, [FromQuery] string contact_name) { var results = new GenericReturnObject <List <UserDTO> >(); try { if (user_id == Guid.Empty || String.IsNullOrEmpty(contact_name)) { results.Success = false; return(BadRequest(results)); } var userMakingRequest = await _userService.GetUser(user_id); if (userMakingRequest == default) { results.Success = false; return(BadRequest(results)); } var userList = await _userService.GetUserByName(contact_name, user_id); //TODO FIX MAPPING HERE results.Values = userList.Select(x => new UserDTO { UserName = x.UserName, Id = x.Id }).ToList(); } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(JsonConvert.SerializeObject(results))); }
public async Task <ActionResult> AddContact([FromBody] ContactDTO contact) { var results = new GenericReturnObject(); try { if (contact.ContactId == Guid.Empty) { results.Success = false; results.Message = "Empty Contact ID"; return(BadRequest(JsonConvert.SerializeObject(results))); } ; if (contact.UserId == Guid.Empty) { results.Success = false; results.Message = "Empty UserId"; return(BadRequest(JsonConvert.SerializeObject(results))); } ; var userRequestingToAddContact = await _userService.GetUser(contact.UserId); if (userRequestingToAddContact == default) { results.Success = false; results.Message = "User doesn't exist"; return(BadRequest(JsonConvert.SerializeObject(results))); } var contactToAdd = await _userService.GetUser(contact.ContactId); if (contactToAdd == default) { results.Success = false; results.Message = "Contact doesn't exist"; return(BadRequest(JsonConvert.SerializeObject(results))); } var addContactResults = await _contactService.AddContact(new Contact { ContactId = contact.ContactId, UserId = contact.UserId }); if (!addContactResults.Item1) { results.Success = false; results.Message = addContactResults.Item2; //Fix later with more legible code return(BadRequest(JsonConvert.SerializeObject(results))); } } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } results.Success = true; return(Ok(JsonConvert.SerializeObject(results))); }
public async Task <ActionResult> GetNewUser() { var results = new GenericReturnObject <UserDTO>(); try { var userColor = ColorList.ReturnRandomColor(); var userAnimal = AnimalList.ReturnAnimal(); var profilePicture = Images.ReturnRandomImage(); var userName = $"{ userColor.Item1} { userAnimal }"; var newUser = new User { Id = Guid.NewGuid(), LastTimeLogged = DateTimeOffset.Now, Password = Guid.NewGuid().ToString(), UserName = userName, PrimaryColorHex = userColor.Item2, Icon = profilePicture }; var dbUser = _userService.GetUser(newUser.UserName); while (dbUser != default) { var retryNewUser = new User { Id = Guid.NewGuid(), LastTimeLogged = DateTimeOffset.Now, Password = Guid.NewGuid().ToString(), UserName = userName, PrimaryColorHex = userColor.Item2, Icon = profilePicture }; dbUser = _userService.GetUser(retryNewUser.UserName); } results.Success = await _userService.CreateUser(newUser); results.Values = new UserDTO { UserName = newUser.UserName, Id = newUser.Id, LastLogin = newUser.LastTimeLogged.Date.ToShortDateString(), PrimaryColorHex = userColor.Item2, Icon = profilePicture }; } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(JsonConvert.SerializeObject(results))); }
public async Task <ActionResult> GetUser([FromQuery] Guid user_id) { var results = new GenericReturnObject <UserDTO>(); try { if (user_id == Guid.Empty) { results.Message = "Invalid userid"; results.Success = false; return(BadRequest(results)); } var user = await _userService.GetUser(user_id); if (user == default) { results.Message = "User doesn't exist"; results.Success = false; return(BadRequest(results)); } //Normally we'd use automapper but let's keep it simple results.Values = new UserDTO { Id = user.Id, ProfilePicture = user.ProfilePicture, PrimaryColorHex = user.PrimaryColorHex, UserName = user.UserName }; } catch (Exception ex) { results.Success = false; results.Message = ex.Message; } return(Ok(JsonConvert.SerializeObject(results))); }