Beispiel #1
0
        public static void RenewContract(ContractMaint docgraph, ContractsList item)
        {
            docgraph.Contracts.Current = PXSelect <CT.Contract, Where <CT.Contract.contractID, Equal <Required <CT.Contract.contractID> > > > .Select(docgraph, item.ContractID);

            docgraph.Billing.Current = docgraph.Billing.Select();
            docgraph.RenewContract();
        }
        public static void RenewContract(ContractMaint docgraph, ContractsList item, RenewalContractFilter filter)
        {
            docgraph.Contracts.Current = PXSelect <Contract, Where <Contract.contractID, Equal <Required <Contract.contractID> > > > .Select(docgraph, item.ContractID);

            docgraph.Billing.Current = docgraph.Billing.Select();
            docgraph.RenewContract(filter.RenewalDate.Value);
        }
Beispiel #3
0
        protected override async void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Contracts);

            // toolbar setup
            var toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);

            SetSupportActionBar(toolbar);
            toolbar.SetOnMenuItemClickListener(new MenuItemClickListener(this));
            SupportActionBar.SetDisplayHomeAsUpEnabled(true);
            //toolbar.InflateMenu(Resource.Menu.contractPageMenu);
            //toolbar.ShowOverflowMenu();
            //await Task.Delay(30);
            //var t = Task.Run(async () =>
            //{
            //    vm = SimpleIoc.Default.GetInstanceWithoutCaching<ContractsViewModel>();
            //   // countries = await vm.GetCountries().ConfigureAwait(false);
            //};
            countries = await ViewModel.GetCountries();

            ContractsList.SetAdapter(new CountryListAdapter(this, countries));
            ContractsList.ChildClick += ContractsList_ChildClick;

            // ContractsList.Adapter =  countries.GetAdapter(GetContractAdapter);
        }
        protected virtual void ContractsList_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            ContractsList contract = e.Row as ContractsList;

            if (contract == null)
            {
                return;
            }

            if (contract.NextDate < contract.ExpireDate)
            {
                PXUIFieldAttribute.SetEnabled <ContractsList.selected>(sender, contract, false);
                sender.RaiseExceptionHandling <ContractsList.selected>(contract, null, new PXSetPropertyException(Messages.BillContractBeforeRenewal, PXErrorLevel.RowWarning));
            }
        }
        public ServiceConfiguration GetConfiguration(ContractsList contracts)
        {
            EnsureBuilt();
            if (exception != null)
            {
                throw new SimpleContainerException(errorMessage, exception);
            }
            ServiceConfiguration result = null;
            var maxWeight = -1;

            foreach (var c in configurations)
            {
                var weight = contracts.WeightOf(c.Contracts);
                if (weight > maxWeight)
                {
                    maxWeight = weight;
                    result    = c;
                }
            }
            return(result);
        }
        public void UpdateSupplierOrderView(int supplierOrderId)
        {
            if (supplierOrderId == 0)
            {
                SupplierOrder = new SupplierOrderView()
                {
                    id = 0
                };

                SelectedSupplier = new Supplier();
                SelectedBroker   = BrokersList[0];
                SelectedContract = new Contract();
                SelectedRate     = new RatesList();
            }
            else
            {
                SupplierOrder    = SupplierOrderService.ReadSupplierOrder(supplierOrderId);
                SelectedSupplier = suppliersListStorage.FirstOrDefault(s => s.Id == SupplierOrder.supplierId);
                SearchCompany    = SelectedSupplier.Name;

                if (SupplierOrder.brokerId != null)
                {
                    SelectedBroker = BrokersList.FirstOrDefault(s => s.Id == SupplierOrder.brokerId);
                }
                else
                {
                    SelectedBroker = null;
                }

                if (SupplierOrder.brokerId != null)
                {
                    ContractsList    = DictionariesService.ReadContracts(SelectedSupplier.companyId, SelectedBroker.Id);
                    SelectedContract = ContractsList.FirstOrDefault(c => c.id == SupplierOrder.contractId);
                }
                else
                {
                    ContractsList = new List <Contract>();
                }
            }
        }
Beispiel #7
0
        protected virtual IEnumerable items()
        {
            ExpiringContractFilter filter = Filter.Current;

            if (filter == null)
            {
                yield break;
            }
            bool found = false;

            foreach (ContractsList item in Items.Cache.Inserted)
            {
                found = true;
                yield return(item);
            }
            if (found)
            {
                yield break;
            }


            PXSelectBase <Contract> select = new PXSelectJoin <Contract
                                                               , InnerJoin <ContractBillingSchedule, On <Contract.contractID, Equal <ContractBillingSchedule.contractID> >
                                                                            , InnerJoin <Customer, On <Customer.bAccountID, Equal <Contract.customerID> > > >,
                                                               Where <Contract.isTemplate, Equal <boolFalse>,
                                                                      And <Contract.baseType, Equal <Contract.ContractBaseType>,
                                                                           And <Contract.expireDate, LessEqual <Current <ExpiringContractFilter.endDate> >,
                                                                                And <Contract.type, NotEqual <ContractType.ContractUnlimited>,
                                                                                     And <Contract.autoRenew, Equal <boolTrue>,
                                                                                          And <Where <Contract.status, Equal <ContractStatus.ContractStatusActivated>, Or <Contract.status, Equal <ContractStatus.ContractStatusExpired> > > > > > > > > >(this);


            if (!string.IsNullOrEmpty(filter.CustomerClassID))
            {
                select.WhereAnd <Where <Customer.customerClassID, Equal <Current <ExpiringContractFilter.customerClassID> > > >();
            }

            if (filter.TemplateID != null)
            {
                select.WhereAnd <Where <Contract.templateID, Equal <Current <ExpiringContractFilter.templateID> > > >();
            }

            /*
             * Expiring Contracts has a hierarchical structure and we need to show only the latest expiring node hidding
             * all of its original contracts
             */
            foreach (PXResult <Contract, ContractBillingSchedule, Customer> resultSet in select.Select())
            {
                Contract contract = (Contract)resultSet;
                ContractBillingSchedule schedule = (ContractBillingSchedule)resultSet;
                Customer customer = (Customer)resultSet;

                bool skipItem = false;
                if (contract.Type == ContractType.Expiring)
                {
                    Contract child = PXSelect <Contract, Where <Contract.originalContractID, Equal <Required <Contract.originalContractID> > > > .Select(this, contract.ContractID);

                    skipItem = child != null;
                }

                if (!skipItem)
                {
                    ContractsList result = new ContractsList();
                    result.ContractID   = contract.ContractID;
                    result.Description  = contract.Description;
                    result.Type         = contract.Type;
                    result.ExpireDate   = contract.ExpireDate;
                    result.CustomerID   = contract.CustomerID;
                    result.CustomerName = customer.AcctName;
                    result.LastDate     = schedule.LastDate;
                    result.NextDate     = schedule.NextDate;
                    result.ExpireDate   = contract.ExpireDate;
                    result.TemplateID   = contract.TemplateID;
                    result.Status       = contract.Status;
                    result.StartDate    = contract.StartDate;

                    yield return(Items.Insert(result));
                }
            }

            Items.Cache.IsDirty = false;
        }
        public ServiceConfiguration GetConfigurationOrNull(Type type, ContractsList contracts)
        {
            var configurationSet = configurations.Get(type);

            return(configurationSet == null ? null : configurationSet.GetConfiguration(contracts));
        }