public NAS.DAL.Accounting.Currency.Currency GetDefaultCurrency(DevExpress.Xpo.Session session) { try { CurrencyType currencyType_Id_true = session.FindObject <CurrencyType>( CriteriaOperator.And( new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.Equal), new BinaryOperator("IsMaster", true, BinaryOperatorType.Equal) )); Currency currency_Id_true = session.FindObject <Currency>( CriteriaOperator.And( new BinaryOperator("CurrencyTypeId", currencyType_Id_true.CurrencyTypeId, BinaryOperatorType.Equal), new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE, BinaryOperatorType.Equal), new BinaryOperator("IsDefault", true, BinaryOperatorType.Equal) )); if (currency_Id_true != null) { return(currency_Id_true); } return(null); } catch (Exception) { throw new NotImplementedException(); } }
public static BaseObject PullCachedInstance(DevExpress.Xpo.Session session, BaseObject CachedInstance, Type objType) { // return previous instance if session matches try { if (CachedInstance != null && ((BaseObject)CachedInstance).Session == session && !CachedInstance.IsDeleted) { return(CachedInstance); } } catch (ObjectDisposedException) { } // return instance from new session var instance = session.FindObject( PersistentCriteriaEvaluationBehavior.InTransaction, objType, null) as BaseObject; if (instance == null) { // create SetOfBooks if it doesn't exist instance = Activator.CreateInstance(objType, session) as BaseObject; instance.Save(); } return(instance); }
public override void ItemsRequestedByFilterCondition(DevExpress.Xpo.Session session, object source, DevExpress.Web.ASPxEditors.ListEditItemsRequestedByFilterConditionEventArgs e) { ASPxComboBox combo = source as ASPxComboBox; XPCollection <Organization> collection = new XPCollection <Organization>(session); collection.SkipReturnedObjects = e.BeginIndex; collection.TopReturnedObjects = e.EndIndex - e.BeginIndex + 1; //Get CUSTOMER trading type TradingCategory customerTradingCategory = session.FindObject <TradingCategory>(new BinaryOperator("Code", "CUSTOMER")); CriteriaOperator criteria = CriteriaOperator.And( //row status is active new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE), CriteriaOperator.Or( //find code contains the filter new BinaryOperator("Code", String.Format("%{0}%", e.Filter), BinaryOperatorType.Like), //find name contains the filter new BinaryOperator("Name", String.Format("%{0}%", e.Filter), BinaryOperatorType.Like) ), //find customer and supplier new ContainsOperator("OrganizationCategories", CriteriaOperator.And( new BinaryOperator("TradingCategoryId", customerTradingCategory), new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE) ) ) ); collection.Criteria = criteria; collection.Sorting.Add(new SortProperty("Code", DevExpress.Xpo.DB.SortingDirection.Ascending)); combo.DataSource = collection; combo.DataBindItems(); }
public virtual void CreateBillItem( DevExpress.Xpo.Session session, Guid billId, Guid itemId, Guid unitId, double quantity, double price, double promotionInPercentage, string comment) { try { NAS.DAL.Invoice.Bill bill = session.GetObjectByKey <NAS.DAL.Invoice.Bill>(billId); if (bill == null) { throw new Exception("Could not found specific bill"); } //Get ItemUnit Item item = session.GetObjectByKey <Item>(itemId); Unit unit = session.GetObjectByKey <Unit>(unitId); ItemUnit itemUnit = session.FindObject <ItemUnit>( CriteriaOperator.And( new BinaryOperator("ItemId", item), new BinaryOperator("UnitId", unit), CriteriaOperator.Or( new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_ACTIVE), new BinaryOperator("RowStatus", Utility.Constant.ROWSTATUS_DEFAULT) ) )); if (itemUnit == null) { throw new Exception("Could not found item unit"); } BillItem billItem = new BillItem(session) { BillId = bill, Comment = comment, //Currency ItemUnitId = itemUnit, Price = price, PromotionInNumber = promotionInPercentage != -1 ? (price * quantity * promotionInPercentage) / 100 : 0, PromotionInPercentage = promotionInPercentage, Quantity = quantity, RowStatus = Utility.Constant.ROWSTATUS_ACTIVE, TotalPrice = price * quantity }; billItem.Save(); //update SumOfItemPrice bill.SumOfItemPrice = bill.BillItems.Sum(r => r.TotalPrice); bill.Save(); if (bill.PromotionCalculationType.Equals(Utility.Constant.CALCULATION_TYPE_ON_ITEMS)) { UpdatePromotionOnItems(session, billId); } //Insert into BillItemTax... //Get VAT TaxType of Item ItemBO itemBO = new ItemBO(); ItemTax itemTax = itemBO.GetCurrentVATOfItem(session, itemId); if (itemTax != null) { BillItemTax billItemTax = new BillItemTax(session) { BillItemId = billItem, ItemTaxId = itemTax, TaxInNumber = itemTax.TaxId.Amount, TaxInPercentage = itemTax.TaxId.Percentage }; billItemTax.Save(); } UpdateSumOfTax(session, bill); #region Update bill Total bill.Total = bill.SumOfItemPrice - bill.SumOfPromotion + bill.SumOfTax; bill.Save(); #endregion Update bill Total } catch (Exception ex) { throw; } }