Exemple #1
0
 public UpdateBillingResult(BillingProcessResult toolDataClean, BillingProcessResult toolData, BillingProcessResult toolStep1, BillingProcessResult roomDataClean, BillingProcessResult roomData, BillingProcessResult roomStep1, BillingProcessResult subsidy)
 {
     ToolDataClean = toolDataClean;
     ToolData      = toolData;
     ToolStep1     = toolStep1;
     RoomDataClean = roomDataClean;
     RoomData      = roomData;
     RoomStep1     = roomStep1;
     Subsidy       = subsidy;
 }
        public ProcessResult BillingProcessStep2([FromBody] BillingProcessStep2Command model)
        {
            if (model.Period == default(DateTime))
            {
                throw new Exception("Missing parameter: Period");
            }

            using (DA.StartUnitOfWork())
            {
                var result = new BillingProcessResult("BillingProcessStep2");

                if ((model.BillingCategory & BillingCategory.Tool) > 0)
                {
                    result.AddResult(new BillingProcessResult("PopulateToolBillingByAccount")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateToolBillingByAccount(model.Period, model.ClientID)
                    });

                    result.AddResult(new BillingProcessResult("PopulateToolBillingByToolOrg")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateToolBillingByToolOrg(model.Period, model.ClientID)
                    });
                }

                if ((model.BillingCategory & BillingCategory.Room) > 0)
                {
                    result.AddResult(new BillingProcessResult("PopulateRoomBillingByAccount")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateRoomBillingByAccount(model.Period, model.ClientID)
                    });

                    result.AddResult(new BillingProcessResult("PopulateRoomBillingByRoomOrg")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateRoomBillingByRoomOrg(model.Period, model.ClientID)
                    });
                }

                if ((model.BillingCategory & BillingCategory.Store) > 0)
                {
                    result.AddResult(new BillingProcessResult("PopulateStoreBillingByAccount")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateStoreBillingByAccount(model.Period, model.ClientID)
                    });

                    result.AddResult(new BillingProcessResult("PopulateStoreBillingByItemOrg")
                    {
                        RowsLoaded = BillingDataProcessStep2.PopulateStoreBillingByItemOrg(model.Period, model.ClientID)
                    });
                }

                return(result);
            }
        }