예제 #1
0
        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));
            }
        }