public async Task <IActionResult> Settings(HomeSettingPostViewModel settings) { if (settings.RentDueDateDay <= 0 || settings.RentDueDateDay >= 28) { ModelState.AddModelError("RentDueDateDay", "Rent due date day value can only be between 1 and 27, included."); return(View(settings)); } using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/settings"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, settings)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { settings = JsonConvert.DeserializeObject <HomeSettingPostViewModel>(content); if (settings.ChangeHttpSession) { HttpContext.Session.SetString("HomeName", settings.HomeName); } } } } return(RedirectToAction(nameof(Index))); }
private async Task <List <string> > GetLinks(long targetObjectID) { var links = new List <ObjectLinkPostViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/objectlinks/{targetObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { links = JsonConvert.DeserializeObject <List <ObjectLinkPostViewModel> >(content); } } } var result = ObjectLinksRenderer.BuildLinks(links); return(result); }
public async Task <IActionResult> Settings() { if (string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { return(RedirectToAction("Login", "Home")); } var settings = new HomeSettingPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/settings"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { settings = JsonConvert.DeserializeObject <HomeSettingPostViewModel>(content); } } } if (settings != null) { return(View(settings)); } return(View()); }
public async Task <IActionResult> PostLink(string targetObjectID, string[] objectBIDs, string[] objectLinkTypes) { var link = new ObjectLinkPostViewModel() { ObjectBID = long.Parse(objectBIDs[0]), ObjectLinkType = objectLinkTypes[0], TargetObjectID = long.Parse(targetObjectID) }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/objectlinks/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, link)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { link = JsonConvert.DeserializeObject <ObjectLinkPostViewModel>(content); } } } return(Json(ObjectLinksRenderer.BuildPostLink(link))); }
public async Task <IActionResult> PostComment(long targetObjectID, string comment) { var result = string.Empty; var theComment = new CommentPostViewModel() { Details = comment, TargetObjectID = targetObjectID }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/comments/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, theComment)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = content; } } } return(Json(result)); }
public async Task <IActionResult> PostEvent(string targetObjectID, string name, string description, string startdate, string enddate, string[] participants) { var @event = new EventPostViewModel() { HomeID = (long)CurrentHomeID, Name = name, Details = description, StartDate = DateTime.Parse(startdate), EndDate = DateTime.Parse(enddate), ParticipantUserIDs = participants, TargetObjectID = long.Parse(targetObjectID) }; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/events/post"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, @event)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { @event = JsonConvert.DeserializeObject <EventPostViewModel>(content); } } } return(Json(EventsRenderer.BuildPostEvent(@event))); }
public async Task <IActionResult> Edit(long ID, U model) { if (ID != model.ID) { return(new Error404NotFoundViewResult()); } if (ModelState.IsValid) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/{CurrentHomeID}/{CurrentAreaName}/createedit"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, model)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(RedirectToAction(nameof(Index))); } else { return(View("_Edit", model)); } } } } return(View("_Edit", model)); }
public async Task <IActionResult> Index() { if (string.IsNullOrEmpty(HttpContext.Session.GetString("UserID"))) { return(RedirectToAction("Login", "Account")); } if (string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { return(RedirectToAction("Login")); } var model = new HomePageDisplayModel(); var status = new HomeStatusPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/page"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { model = JsonConvert.DeserializeObject <HomePageDisplayModel>(content); } } } using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { status = JsonConvert.DeserializeObject <HomeStatusPostViewModel>(content); } } } model.HomeStatus = status; ViewData["Username"] = CurrentUserName; return(View(model)); }
public async Task <JsonResult> GetHomeStatus() { var result = string.Empty; if (!string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { var status = new HomeStatusPostViewModel(); var user = new UserPostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { status = JsonConvert.DeserializeObject <HomeStatusPostViewModel>(content); } } } if (status.ID > 0) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/users/{status.UserID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { user = JsonConvert.DeserializeObject <UserPostViewModel>(content); } } } result = $"{status.Status};{user.Name};{status.Details}"; return(Json(result)); } } result = $"1;system_generated;No one has set a status yet!"; return(Json(result)); }
public async Task <ActionResult> DeleteImage(long ID) { var image = new ImagePostViewModel(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/images/image/{ID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { image = JsonConvert.DeserializeObject <ImagePostViewModel>(content); } } } if (image == null) { return(Json(new { success = false, message = "404: Image does not exist." })); } else { return(Json(new { success = false, message = "404: Image does not exist." })); // TODO: This here needs to send request to API // Also, make sure directory path is outside of wwwroot //if (Directory.Exists(ImagesPath)) //{ // var di = new DirectoryInfo(ImagesPath); // foreach (var file in di.GetFiles()) // { // if (file.Name == image.Name) // { // file.Delete(); // break; // } // } // BaseWebService.Delete(image); // return Json(new { success = true, message = "Image deleted successfully." }); //} //else // return Json(new { success = false, message = "404: Images path does not exist." }); } }
protected virtual async Task PopulateViewData(U model) { var users = await GetUsersInCurrentHome(); var usersSelectList = users.Select(x => new SelectListItem() { Text = x.Name, Value = x.ID.ToString() }).ToList(); ViewData["UsersSelectList"] = usersSelectList; // TODO: Brainstorm on more object link types... var objectLinkTypesSelectList = new List <SelectListItem>() { new SelectListItem() { Text = "relates to", Value = "relates to", Selected = true } }; ViewData["ObjectLinkTypeSelectList"] = objectLinkTypesSelectList; var objects = new List <BusinessObjectDisplayViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/home/objects/{model.ObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { objects = JsonConvert.DeserializeObject <List <BusinessObjectDisplayViewModel> >(content); } } } var objectsSelectList = objects.Select(x => new SelectListItem() { Text = x.Name, Value = x.ObjectID.ToString() }).ToList(); ViewData["ObjectBIDSelectList"] = objectsSelectList; }
public async Task <ActionResult> SetHomeStatus(string homeStatusString, string homeStatusDetailsString) { if (!string.IsNullOrEmpty(HttpContext.Session.GetString("HomeID"))) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/status?homeStatusString={homeStatusString}&homeStatusDetailsString={homeStatusDetailsString}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, new { })) { } } } return(Ok()); }
public async Task <ActionResult> CreateMessage(string username, string messageText) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/chat?username={username}&messageText={messageText}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, new { })) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { return(Ok()); } } } return(StatusCode(StatusCodes.Status500InternalServerError)); }
public async Task<JsonResult> GetEvents() { var result = new List<EventViewModel>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/events"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) result = JsonConvert.DeserializeObject<List<EventViewModel>>(content); } } return Json(result.ToArray()); }
private async Task <List <string> > GetComments(long targetObjectID) { var result = new List <string>(); using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/comments/{targetObjectID}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = JsonConvert.DeserializeObject <List <string> >(content); } } } return(result); }
public async Task <JsonResult> GetCount() { var result = 0; using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/count"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); httpClient.DefaultRequestHeaders.Add("CurrentHomeID", CurrentHomeID.ToString()); using (var response = await httpClient.GetAsync(requestUri)) { string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { result = int.Parse(content); } } } return(Json(result)); }