Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
        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);
        }