Beispiel #1
0
        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"));
        }
Beispiel #3
0
        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));
        }