public UserRelationship FinalizeDelivery([FromBody] FinalizeCommand finalCom)
        {
            var UsersRel = _context.UserRelationship.Where(x => x.CourierId == finalCom.CourierId && x.ClientId == finalCom.ClientId && x.Valid == true).ToList();

            if (UsersRel != null)
            {
                foreach (var usr in UsersRel)
                {
                    usr.Valid = false;
                    _context.UserRelationship.Update(usr);
                }
                _context.SaveChanges();
            }

            DeliveredPackages dp = new DeliveredPackages();

            dp.CourierId    = finalCom.CourierId;
            dp.ClientId     = finalCom.ClientId;
            dp.Observations = finalCom.Observations;
            dp.SubmitTime   = finalCom.Date;

            _context.DeliveredPackages.Add(dp);
            _context.SaveChanges();

            return(new UserRelationship());
        }
Ejemplo n.º 2
0
        public FinalizeResult Finalize(FinalizeCommand 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();

                var step1 = new BillingDataProcessStep1(new Step1Config {
                    Connection = conn, Context = "ProcessRepository.Finalize", Period = command.Period, Now = startedAt, ClientID = 0, IsTemp = false
                });
                var step4 = new BillingDataProcessStep4Subsidy(new Step4Config {
                    Connection = conn, Context = "ProcessRepository.Finalize", Period = command.Period, ClientID = 0
                });

                var writeToolDataProcessResult = new WriteToolDataProcess(WriteToolDataConfig.Create(conn, "ProcessRepository.Finalize", command.Period, 0, 0, Cost.GetToolCosts(command.Period, 0))).Start();
                var writeRoomDataProcessResult = new WriteRoomDataProcess(new WriteRoomDataConfig {
                    Connection = conn, Context = "ProcessRepository.Finalize", Period = command.Period, ClientID = 0, RoomID = 0
                }).Start();
                var writeStoreDataProcessResult = new WriteStoreDataProcess(new WriteStoreDataConfig {
                    Connection = conn, Context = "ProcessRepository.Finalize", Period = command.Period, ClientID = 0, ItemID = 0
                }).Start();
                var populateToolBillingProcessResult    = step1.PopulateToolBilling();
                var populateRoomBillingProcessResult    = step1.PopulateRoomBilling();
                var populateStoreBillingProcessResult   = step1.PopulateStoreBilling();
                var populateSubsidyBillingProcessResult = step4.PopulateSubsidyBilling();

                conn.Close();

                var result = new FinalizeResult(startedAt)
                {
                    Period = command.Period,
                    WriteToolDataProcessResult          = writeToolDataProcessResult,
                    WriteRoomDataProcessResult          = writeRoomDataProcessResult,
                    WriteStoreDataProcessResult         = writeStoreDataProcessResult,
                    PopulateToolBillingProcessResult    = populateToolBillingProcessResult,
                    PopulateRoomBillingProcessResult    = populateRoomBillingProcessResult,
                    PopulateStoreBillingProcessResult   = populateStoreBillingProcessResult,
                    PopulateSubsidyBillingProcessResult = populateSubsidyBillingProcessResult
                };

                return(result);
            }
        }
Ejemplo n.º 3
0
 public FinalizeResult Finalize(FinalizeCommand command)
 {
     return(Post <FinalizeResult>("webapi/billing/process/data/finalize", command));
 }