private void gridviewBillItem_LoadData() { if (BillItemEditFormStrategy != null) { gridviewBillItem.DataSource = BillItemEditFormStrategy.GetBillItems(session, BillId); gridviewBillItem.DataBind(); } }
protected void gridviewBillItem_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) { if (BillId == null || BillId.Equals(Guid.Empty)) { return; } Bill bill = session.GetObjectByKey <Bill>(BillId); if (bill.RowStatus.Equals(Utility.Constant.ROWSTATUS_BOOKED_ENTRY)) { throw new Exception(String.Format("Không thể thực hiện vì hóa đơn '{0}' đã bị khóa", bill.Code)); } UnitOfWork uow = null; try { uow = XpoHelper.GetNewUnitOfWork(); Guid billItemId = (Guid)e.Keys["BillItemId"]; BillItemEditFormStrategy.DeleteBillItem(uow, billItemId); uow.CommitChanges(); gridviewBillItem.JSProperties["cpEvent"] = "DataChanged"; } catch (Exception) { throw; } finally { if (uow != null) { uow.Dispose(); } e.Cancel = true; } }
protected void gridviewBillItem_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) { UnitOfWork uow = null; try { uow = XpoHelper.GetNewUnitOfWork(); Guid billItemId = (Guid)e.Keys["BillItemId"]; Guid itemId = (Guid)e.NewValues["ItemId!Key"]; Guid unitId = (Guid)e.NewValues["UnitId!Key"]; double quantity = (double)e.NewValues["Quantity"]; double price = (double)e.NewValues["Price"]; //double promotionInPercentage = double.MinValue; double promotionInPercentage = -1; string comment = (string)e.NewValues["Comment"]; if (e.NewValues["PromotionInPercentage"] != null) { promotionInPercentage = (double)e.NewValues["PromotionInPercentage"]; } BillItemEditFormStrategy.UpdateBillItem(uow, billItemId, itemId, unitId, quantity, price, promotionInPercentage, comment); uow.CommitChanges(); gridviewBillItem.JSProperties["cpEvent"] = "DataChanged"; } catch (Exception) { throw; } finally { if (uow != null) { uow.Dispose(); } e.Cancel = true; gridviewBillItem.CancelEdit(); } }
public void SetBillItemEditFormStrategy(BillItemEditFormStrategy strategy) { _BillItemEditFormStrategy = strategy; }