public ActionResult CreateAnnouncement(AnnouncementCreateDTO announcementDTO, int id) { try { ApplicationUser user = _userRepository.GetUserBy(User.Identity.Name); if (user is null || !user.Type.Equals(UserType.STAFF)) { return(Unauthorized()); } Passenger receiver = null; if (announcementDTO.PassengerId != null) { receiver = (Passenger)_userRepository.GetUserById((int)announcementDTO.PassengerId); } Announcement announcement = new Announcement { Title = announcementDTO.Title, Content = announcementDTO.Content, Sender = (Staff)user, Receiver = receiver }; _flightRepository.CreateAnnouncement(id, announcement); _flightRepository.SaveChanges(); return(Created("", AnnouncementDTO.FromAnnouncement(announcement))); } catch (Exception e) { return(BadRequest(e.Message)); } }
public HttpResponseMessage NewAnnouncement([FromBody] AnnouncementCreateDTO announcement) { if (ModelState.IsValid) { Announcement entity = new Announcement { CategoryId = announcement.CategoryId, Description = announcement.Description, Email = announcement.Email, Phonenumber = announcement.Phonenumber, Title = announcement.Title, PostDate = DateTime.Now, ExpirationDate = DateTime.Now.AddMonths(1), Confirmed = false }; using (SummerCampDbContext ctx = new SummerCampDbContext()) { ctx.Announcements.Add(entity); ctx.SaveChanges(); } HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, entity); //string uri = Url.Link("DefaultApi", new { Id = entity.AnnouncementId }); //response.Headers.Location = new Uri(uri); return(response); } return(Request.CreateResponse(HttpStatusCode.BadRequest, ModelState)); }
public async Task <ActionResult> CreateAnnouncement(AnnouncementViewModel vm) { if (ModelState.IsValid) { AnnouncementCreateDTO entity = new AnnouncementCreateDTO { CategoryId = vm.CategoryId, Title = vm.Title, Description = vm.Description, Email = vm.Email, Phonenumber = vm.Phonenumber }; string url = "http://api.summercamp.stage02.netromsoftware.ro/api/announcements/NewAnnouncement"; using (HttpClient httpClient = new HttpClient()) { 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")); } } return(View("Error")); }