public ActionResult ReminderAll(CustomerEventReminderListViewModel model, FormCollection formCollection) { var tmpModel = BuildCustomerEventReminderListViewModel(model.StaffCustomerEventId); //Get selected subjects list tmpModel.SelectedEventUserList = GetSelectedEventUsers(formCollection, false); //Shoot date as modified by user tmpModel.ShootDate = model.ShootDate; //Reminder date as modified by user tmpModel.ReminderDate = model.ReminderDate; //Sender name as modified by user tmpModel.SenderName = model.SenderName; //Sender role as modified by user tmpModel.SenderRole = model.SenderRole; //Topic tmpModel.TopicToUse = "CameleoEventReminderWithoutCoupon"; //Page size tmpModel.PageSize = Rotativa.Options.Size.Letter; //Return view as pdf tmpModel.showAllReminders = true; ViewBag.CustomerEventId = model.StaffCustomerEventId; return(new ViewAsPdf("~/Plugins/Cameleo.CameleoEvents/Views/CameleoEvents/EventReminder/EventReminderPDF.cshtml", tmpModel) { PageSize = tmpModel.PageSize }); }
CustomerEventReminderListViewModel BuildCustomerEventReminderListViewModel(int customerEventId) { var model = new CustomerEventReminderListViewModel(); model.StaffCustomerEventId = customerEventId; var tmpStaffCustomerEvent = _customerEventService.GetCustomerEventById(customerEventId); var tmpStaffEventUser = _eventUserService.GetEventUserById(tmpStaffCustomerEvent.EventUserId); //Group model.GroupName = tmpStaffEventUser.Group; //Get event var tmpEvent = _eventService.GetEventByEventUserId(tmpStaffCustomerEvent.EventUserId); model.EventId = tmpEvent.Id; //Participation fee model.ParticipationFee = (decimal)tmpEvent.ParticipationFee; //Get client logo model.Logo = tmpEvent.ClientLogo; //Replace default logo if configured string tmppath = _localizationService.GetResource("plugins.cameleo.cameleocustomerevents.reminders.defaultlogo.path"); if (!string.IsNullOrEmpty(model.Logo)) { tmppath = tmppath.Replace("default-reminder-logo", model.Logo); } model.LogoPath = Server.MapPath(tmppath); // Steps images model.Step1Path = Server.MapPath(_localizationService.GetResource("plugins.cameleo.cameleocustomerevents.reminders.step1.path")); model.Step2Path = Server.MapPath(_localizationService.GetResource("plugins.cameleo.cameleocustomerevents.reminders.step2.path")); model.Step3Path = Server.MapPath(_localizationService.GetResource("plugins.cameleo.cameleocustomerevents.reminders.step3.path")); model.Step4Path = Server.MapPath(_localizationService.GetResource("plugins.cameleo.cameleocustomerevents.reminders.step4.path")); //Shoot date model.ShootDate = ((DateTime)tmpEvent.ShootedOnUtc).ToString("yyyy-MM-dd"); //Reminder date model.ReminderDate = ((DateTime)tmpEvent.AcceptReminderDateUtc).ToString("yyyy-MM-dd"); //Sender name model.SenderName = tmpStaffEventUser.FirstName + " " + tmpStaffEventUser.LastName; //Get customer events that did not answer var noAnswerCustomerEvents = _customerEventService.GetAllNoAnswerCustomerEventsForGroup(tmpEvent.Id, tmpStaffEventUser.Group); foreach (var tmpCustomerEvent in noAnswerCustomerEvents.Reverse()) { model.CameleoEventUserList.Insert(0, new CameleoEventUserViewModel(_eventUserService.GetEventUserById(tmpCustomerEvent.EventUserId), 0, 0)); } //Get remaining event users that did not answer var noAnswerEventUsers = _eventUserService.GetNoAnswerEventUsers(tmpEvent.Id, tmpStaffEventUser.Group); foreach (var tmpEventUser in noAnswerEventUsers.Reverse()) { model.CameleoEventUserList.Insert(0, new CameleoEventUserViewModel(tmpEventUser, 0, 0)); } return(model); }