Esempio n. 1
0
        void SetPrCategoryByLookupText(object sender, bool isHours)
        {
            DebtorOrderProjectLineLocal selectedItem = dgDebtorOrderProjectLineGrid.SelectedItem as DebtorOrderProjectLineLocal;

            if (selectedItem == null)
            {
                return;
            }
            var le = sender as CorasauGridLookupEditor;

            if (string.IsNullOrEmpty(le.EnteredText))
            {
                return;
            }

            var prCat = CategoryCache?.Get(le.EnteredText);

            if (prCat != null)
            {
                dgDebtorOrderProjectLineGrid.SetLoadedRow(selectedItem);
                selectedItem.PrCategory = prCat.KeyStr;
                le.EditValue            = prCat.KeyStr;
            }
            le.EnteredText = null;
        }
Esempio n. 2
0
 private void SetPrCategorySource(DebtorOrderProjectLineLocal rec)
 {
     if (CategoryCache != null && CategoryCache.Count != 0)
     {
         rec._prCategorySource = new PrCategoryRegulationFilter(CategoryCache);
         rec.NotifyPropertyChanged("ProjectCategorySource");
     }
 }
Esempio n. 3
0
        public override void SetDefaultValues(UnicontaBaseEntity dataEntity, int selectedIndex)
        {
            var newRow = (DebtorOrderProjectLineLocal)dataEntity;
            var header = this.masterRecord as Uniconta.DataModel.DebtorOrder;

            if (header != null)
            {
                newRow.SetMaster(header);
                newRow._Dim1      = header._Dim1;
                newRow._Dim2      = header._Dim2;
                newRow._Dim3      = header._Dim3;
                newRow._Dim4      = header._Dim4;
                newRow._Dim5      = header._Dim5;
                newRow._Employee  = header._Employee;
                newRow._TransType = header._TransType;
            }

            var lst = (IList)this.ItemsSource;

            if (lst == null || lst.Count == 0)
            {
                newRow._Date = BasePage.GetSystemDefaultDate().Date;
            }
            else
            {
                DebtorOrderProjectLineLocal last = null;
                DebtorOrderProjectLineLocal Cur  = null;
                int      n            = -1;
                DateTime LastDateTime = DateTime.MinValue;
                var      castItem     = lst as IEnumerable <DebtorOrderProjectLineLocal>;
                foreach (var journalLine in castItem)
                {
                    if (journalLine._Date != DateTime.MinValue && Cur == null)
                    {
                        LastDateTime = journalLine._Date;
                    }
                    n++;
                    if (n == selectedIndex)
                    {
                        Cur = journalLine;
                    }
                    last = journalLine;
                }
                if (Cur == null)
                {
                    Cur = last;
                }

                newRow._Date            = LastDateTime != DateTime.MinValue ? LastDateTime : BasePage.GetSystemDefaultDate().Date;
                newRow._Project         = last._Project;
                newRow._PrCategory      = last._PrCategory;
                newRow.PrCategorySource = last.PrCategorySource;
            }
        }
Esempio n. 4
0
        async void getCostAndSales(DebtorOrderProjectLineLocal rec)
        {
            var project = rec._Project;

            if (project == null)
            {
                return;
            }
            var proj       = (Uniconta.DataModel.Project)ProjectCache.Get(project);
            var Categories = proj.Categories ?? await proj.LoadCategories(api);

            rec.costPct = 0d; rec.salesPct = 0d; rec.costAmount = 0d; rec.salesAmount = 0d;

            var Category = rec._PrCategory;

            var prcategory = (Uniconta.DataModel.PrCategory)CategoryCache.Get(Category);

            if (prcategory != null && prcategory._Forward)
            {
                rec.ProjectForward = debtorOrder._Project;
            }

            var projCat = (from ct in Categories where ct._PrCategory == Category select ct).FirstOrDefault();

            if (projCat != null)
            {
                rec.costPct     = projCat._CostPctCharge;
                rec.salesPct    = projCat._SalesPctCharge;
                rec.costAmount  = projCat._CostAmountCharge;
                rec.salesAmount = projCat._SalesAmountCharge;
            }
            else
            {
                var prstd = (PrStandard)PrStandardCache.Get(proj._PrStandard);
                if (prstd == null)
                {
                    return;
                }
                var PrCategories = prstd.Categories ?? await prstd.LoadCategories(api);

                var prCat = (from ct in PrCategories where ct._PrCategory == Category select ct).FirstOrDefault();
                if (prCat != null)
                {
                    rec.costPct     = prCat._CostPctCharge;
                    rec.salesPct    = prCat._SalesPctCharge;
                    rec.costAmount  = prCat._CostAmountCharge;
                    rec.salesAmount = prCat._SalesAmountCharge;
                }
            }
            RecalculateAmount();
        }
Esempio n. 5
0
        private void PrCategory_GotFocus(object sender, RoutedEventArgs e)
        {
            DebtorOrderProjectLineLocal selectedItem = dgDebtorOrderProjectLineGrid.SelectedItem as DebtorOrderProjectLineLocal;

            if (selectedItem != null)
            {
                SetPrCategorySource(selectedItem);
                if (prevPrCategory != null)
                {
                    prevPrCategory.isValidate = false;
                }
                var editor = (CorasauGridLookupEditorClient)sender;
                prevPrCategory    = editor;
                editor.isValidate = true;
            }
        }
Esempio n. 6
0
        private void DataControl_CurrentItemChanged(object sender, DevExpress.Xpf.Grid.CurrentItemChangedEventArgs e)
        {
            DebtorOrderProjectLineLocal oldselectedItem = e.OldItem as DebtorOrderProjectLineLocal;

            if (oldselectedItem != null)
            {
                oldselectedItem.PropertyChanged -= SelectedItem_PropertyChanged;
            }

            DebtorOrderProjectLineLocal selectedItem = e.NewItem as DebtorOrderProjectLineLocal;

            if (selectedItem != null)
            {
                selectedItem.InsidePropChange = false;
                selectedItem.PropertyChanged += SelectedItem_PropertyChanged;
            }
        }
Esempio n. 7
0
        Uniconta.API.DebtorCreditor.FindPrices SetPriceLookup(DebtorOrderProjectLineLocal rec)
        {
            var proj = (Uniconta.DataModel.Project)ProjectCache.Get(rec._Project);

            if (proj != null)
            {
                if (dictPriceLookup.ContainsKey(proj._DCAccount))
                {
                    return(dictPriceLookup[proj._DCAccount]);
                }

                var order = new DebtorOrder()
                {
                    _DCAccount = proj._DCAccount
                };
                var priceLookup = new Uniconta.API.DebtorCreditor.FindPrices(order, api);
                dictPriceLookup.Add(proj._DCAccount, priceLookup);
                return(priceLookup);
            }
            return(null);
        }
Esempio n. 8
0
        void SetItem(DebtorOrderProjectLineLocal rec)
        {
            var item = (InvItem)ItemsCache.Get(rec._Item);

            if (item == null)
            {
                return;
            }

            //  SetPriceLookup(rec)?.SetPriceFromItem(rec, item);

            if (item._Dim1 != null)
            {
                rec.Dimension1 = item._Dim1;
            }
            if (item._Dim2 != null)
            {
                rec.Dimension2 = item._Dim2;
            }
            if (item._Dim3 != null)
            {
                rec.Dimension3 = item._Dim3;
            }
            if (item._Dim4 != null)
            {
                rec.Dimension4 = item._Dim4;
            }
            if (item._Dim5 != null)
            {
                rec.Dimension5 = item._Dim5;
            }
            if (item._PrCategory != null)
            {
                rec.PrCategory = item._PrCategory;
            }
        }
Esempio n. 9
0
 void UpdatePrice(DebtorOrderProjectLineLocal rec)
 {
     var priceLookup = SetPriceLookup(rec);
     //if (priceLookup != null && priceLookup.UseCustomerPrices)
     //    priceLookup.GetCustomerPrice(rec, false);
 }