public static Widget Create(PanelViewType type)
        {
            switch (type)
            {
            case PanelViewType.CounterpartyView:
                return(new CounterpartyPanelView(ServicesConfig.CommonServices));

            case PanelViewType.DeliveryPointView:
                return(new DeliveryPointPanelView(ServicesConfig.CommonServices));

            case PanelViewType.DeliveryPricePanelView:
                return(new DeliveryPricePanelView());

            case PanelViewType.UndeliveredOrdersPanelView:
                return(new UndeliveredOrdersPanelView());

            case PanelViewType.EmailsPanelView:
                return(new EmailsPanelView());

            case PanelViewType.CallTaskPanelView:
                return(new CallTaskPanelView(
                           new BaseParametersProvider(new ParametersProvider()),
                           new EmployeeRepository(),
                           ServicesConfig.CommonServices));

            case PanelViewType.ComplaintPanelView:
                return(new ComplaintPanelView(new ComplaintsRepository(), new ComplaintResultsRepository()));

            case PanelViewType.SmsSendPanelView:
                return(new SmsSendPanelView(
                           ServicesConfig.CommonServices,
                           new SmsPaymentRepository(),
                           new FastPaymentRepository(),
                           new FastPaymentParametersProvider(new ParametersProvider())));

            case PanelViewType.FixedPricesPanelView:
                var fixedPricesDialogOpener   = new FixedPricesDialogOpener();
                var fixedPricesPanelViewModel = new FixedPricesPanelViewModel(fixedPricesDialogOpener, ServicesConfig.CommonServices);
                return(new FixedPricesPanelView(fixedPricesPanelViewModel));

            case PanelViewType.CashInfoPanelView:
                return(new CashInfoPanelView(
                           UnitOfWorkFactory.GetDefaultFactory,
                           new CashRepository(),
                           new SubdivisionRepository(new ParametersProvider()),
                           new UserRepository()));

            default:
                throw new NotSupportedException();
            }
        }
 public static Widget Create(PanelViewType type)
 {
     switch (type)
     {
         case PanelViewType.CounterpartyView:
             return new CounterpartyPanelView();
         case PanelViewType.DeliveryPointView:
             return new DeliveryPointPanelView();
         case PanelViewType.AdditionalAgreementPanelView:
             return new AdditionalAgreementPanelView();
         default:
             throw new NotSupportedException();
     }
 }
        public IActionResult EventDetails(int eventId, PanelViewType panelViewType)
        {
            var ev = _db.Events.Find(eventId);

            if (ev == null)
            {
                return(BadRequest(ErrorMessagesProvider.EventErrors.EventNotExists));
            }

            var voes = _db.VolunteersOnEvent
                       .Include(voe => voe.Volunteer)
                       .Where(voe => voe.EventId == eventId).ToList();

            var volunteers = voes.Select(voe =>
                                         new VolunteerViewModel
            {
                Name                  = voe.Volunteer.FullName,
                Email                 = _db.Users.Find(voe.Volunteer.IdentityUserId).Email,
                PhoneNumber           = voe.Volunteer.PhoneNumber,
                ReceivedPoints        = voe.PointsReceived,
                CollectedMoney        = voe.AmountOfMoneyCollected,
                VolunteerOnEventId    = voe.VolunteerOnEventId,
                OpinionAboutVolunteer = voe.OpinionAboutVolunteer
            }
                                         ).ToList();

            var vm = new EventDetailsViewModel
            {
                EventId           = eventId,
                Date              = ev.Date,
                Name              = ev.Name,
                Address           = ev.Address,
                Organizer         = ev.Organizer,
                RequiredPoints    = ev.RequiredPoints,
                Description       = ev.Description,
                CollectedMoneySum = ev.CollectedMoney,
                Volunteers        = volunteers,
                ViewType          = panelViewType,
                ImageRelativePath = ev.ImageRelativePath
            };

            return(View(vm));
        }
Exemple #4
0
        public static Widget Create(PanelViewType type)
        {
            switch (type)
            {
            case PanelViewType.CounterpartyView:
                return(new CounterpartyPanelView());

            case PanelViewType.DeliveryPointView:
                return(new DeliveryPointPanelView());

            case PanelViewType.DeliveryPricePanelView:
                return(new DeliveryPricePanelView());

            case PanelViewType.UndeliveredOrdersPanelView:
                return(new UndeliveredOrdersPanelView());

            case PanelViewType.EmailsPanelView:
                return(new EmailsPanelView());

            case PanelViewType.CallTaskPanelView:
                return(new CallTaskPanelView(new BaseParametersProvider(), EmployeeSingletonRepository.GetInstance()));

            case PanelViewType.ComplaintPanelView:
                return(new ComplaintPanelView(new ComplaintsRepository()));

            case PanelViewType.SmsSendPanelView:
                return(new SmsSendPanelView());

            case PanelViewType.FixedPricesPanelView:
                var fixedPricesDialogOpener = new FixedPricesDialogOpener();
                FixedPricesPanelViewModel fixedPricesPanelViewModel = new FixedPricesPanelViewModel(fixedPricesDialogOpener);
                return(new FixedPricesPanelView(fixedPricesPanelViewModel));

            default:
                throw new NotSupportedException();
            }
        }