Пример #1
0
        public Step1Result Step1(Step1Command command)
        {
            if (command.Period == default)
            {
                throw new Exception("Missing parameter: Period");
            }

            if (command.Period.Day != 1)
            {
                throw new Exception("Period must be the first day of the month.");
            }

            var startedAt = DateTime.Now;

            using (var conn = NewConnection())
            {
                conn.Open();

                PopulateToolBillingResult  populateToolBillingProcessResult  = null;
                PopulateRoomBillingResult  populateRoomBillingProcessResult  = null;
                PopulateStoreBillingResult populateStoreBillingProcessResult = null;

                var step1 = new BillingDataProcessStep1(new Step1Config {
                    Connection = conn, Context = "ProcessRepository.Step1", Period = command.Period, Now = startedAt, ClientID = command.ClientID, IsTemp = command.IsTemp
                });

                if ((command.BillingCategory & BillingCategory.Tool) > 0)
                {
                    populateToolBillingProcessResult = step1.PopulateToolBilling();
                }

                if ((command.BillingCategory & BillingCategory.Room) > 0)
                {
                    populateRoomBillingProcessResult = step1.PopulateRoomBilling();
                }

                if ((command.BillingCategory & BillingCategory.Store) > 0)
                {
                    populateStoreBillingProcessResult = step1.PopulateStoreBilling();
                }

                conn.Close();

                Step1Result result = new Step1Result(startedAt)
                {
                    PopulateToolBillingProcessResult  = populateToolBillingProcessResult,
                    PopulateRoomBillingProcessResult  = populateRoomBillingProcessResult,
                    PopulateStoreBillingProcessResult = populateStoreBillingProcessResult
                };

                return(result);
            }
        }
Пример #2
0
 private void OnOnPointAdded(object sender, PointArgs args)
 {
     Step1Command.RaiseCanExecuteChanged();
     Step2Command.RaiseCanExecuteChanged();
 }
Пример #3
0
 public Step1Result Step1(Step1Command command)
 {
     return(Post <Step1Result>("webapi/billing/process/step1", command));
 }