public async Task <IActionResult> CreateBarEvent(EventViewModel model) { string modelAsString = string.Empty; var bar = await this.barServices.GetBarAsync(model.BarId); try { model.BarViewHtmlString = await this.formattingService.RenderViewToStringAsync <BarViewModel>("_BarViewPartial", new BarViewModel(bar)); } catch (Exception ex) { Console.WriteLine(ex.Message); } var emails = model.InvitationEmailAddresses.TrimEnd('x').Split(new char[] { 'x', ',' }, StringSplitOptions.None); var from = "*****@*****.**"; var body = model.ToString(); var subject = "Event invitation"; var viewAsPdf = this.formattingService.HtmlStringToPDF(model.BarViewHtmlString); bool mailsSent = await this.mailServices.SendEmailToGroup(from, emails, subject, body, viewAsPdf); // тука може да си добавите сървис, който да запазва ивента в базата. в момента нямам имплементиран такъв сървис, нито имам ентити за ивент, има само ивентвюмодел // може в джейсъна да сложите и още пропъртита за да има за всяка операция. // bool successfullyCreated = this.eventServices.CreateAsync(model); => псевдо код как запазвате ивента в базата и ако е успешно може да върнете от сървиса тру, иначе фолс и // така може да пратите инфо в джейсъна за всичките неща - и за статуса на мейлите и за статуса на самия ивент return(Json(new { mailsSent = mailsSent /*, successfullyCreated = successfullyCreated*/ })); }
public async Task <IActionResult> CreateEvent(EventViewModel model) { var emails = model.InvitationEmailAddresses.TrimEnd('x').Split('x'); var from = "*****@*****.**"; var body = model.ToString(); var subject = "Event invitation"; var viewAsPdf = this.formattingService.HtmlStringToPDF(model.BarViewHtmlString); await this.mailServices.SendEmailToGroup(from, emails, subject, body, viewAsPdf); return(RedirectToAction("CreateBar", "Bar")); }
public ActionResult Index(EventViewModel model) { model.EventList = new List <Event>(); string httpResponseBody = Models.EventViewModel.GetXmlDataFromBCMTIOpen511API("events", model.ToString()); //Parse the response into a event list JObject details = JObject.Parse(httpResponseBody); foreach (var eventItem in details["events"]) { Event eventToAdd = new Event() { Description = eventItem["description"].ToString(), Severity = eventItem["severity"].ToString(), Type = eventItem["event_type"].ToString(), Date = eventItem["created"].ToString() }; foreach (var area in eventItem["areas"]) { eventToAdd.Areas.Add(area["name"].ToString()); } model.EventList.Add(eventToAdd); } model.Messsage += Models.EventViewModel.defaultBcMTIOpen511Uri + "/" + "events" + "?" + model.ToString(); return(View(model)); }