public async System.Threading.Tasks.Task <ActionResult> Extend(AnnouncementAuthViewModel vm) { string url = "http://api.summercamp.stage02.netromsoftware.ro/api/announcements/ExtendAnnouncement?announcementId=" + vm.Id; using (HttpClient httpClient = new HttpClient()) { AnnouncementAuthDTO entity = new AnnouncementAuthDTO(); entity.Email = vm.Email; JavaScriptSerializer serialize = new JavaScriptSerializer(); serialize.Serialize(entity); var json = new JavaScriptSerializer().Serialize(entity); StringContent content = new StringContent(json, Encoding.UTF8, "application/json"); HttpClient client = new HttpClient(); HttpResponseMessage response = await client.PostAsync(url, content); return(RedirectToAction("Index", "Home", null)); } return(View("Error")); }
public HttpResponseMessage CloseAnnouncement([FromUri] int id, [FromBody] AnnouncementAuthDTO authInfo) { using (SummerCampDbContext ctx = new SummerCampDbContext()) { Announcement announcement = ctx.Announcements.FirstOrDefault(a => a.AnnouncementId == id); if (string.Equals(announcement.Email, authInfo.Email, StringComparison.OrdinalIgnoreCase) && announcement.Confirmed) { announcement.Closed = true; ctx.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } return(Request.CreateResponse(HttpStatusCode.Forbidden)); } }
public HttpResponseMessage ExtendAnnouncement([FromUri] int id, [FromBody] AnnouncementAuthDTO authInfo) { using (SummerCampDbContext ctx = new SummerCampDbContext()) { Announcement announcement = ctx.Announcements.FirstOrDefault(a => a.AnnouncementId == id); if (string.Equals(announcement.Email, authInfo.Email, StringComparison.OrdinalIgnoreCase)) { if (announcement.Closed && announcement.Confirmed) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed)); } announcement.ExpirationDate = announcement.ExpirationDate.AddMonths(1); ctx.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } return(Request.CreateResponse(HttpStatusCode.Forbidden)); } }