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; }
private void SetPrCategorySource(DebtorOrderProjectLineLocal rec) { if (CategoryCache != null && CategoryCache.Count != 0) { rec._prCategorySource = new PrCategoryRegulationFilter(CategoryCache); rec.NotifyPropertyChanged("ProjectCategorySource"); } }
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; } }
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(); }
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; } }
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; } }
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); }
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; } }
void UpdatePrice(DebtorOrderProjectLineLocal rec) { var priceLookup = SetPriceLookup(rec); //if (priceLookup != null && priceLookup.UseCustomerPrices) // priceLookup.GetCustomerPrice(rec, false); }