public void Delete(RefillInventoryHeaderDataEntity p_inventory) { using(var session = NHibernateHelper.OpenSession()) { using(var transaction = session.BeginTransaction()) { try { session.Delete(p_inventory); transaction.Commit(); } catch(Exception ex) { transaction.Rollback(); throw ex; } } } }
public RefillInventoryDetailDataEntity GetDetailDay(RefillInventoryHeaderDataEntity p_header, DateTime p_dayStamp) { using(var session = NHibernateHelper.OpenSession()) { var query = session.QueryOver<RefillInventoryDetailDataEntity>() .Where(x => x.Header == p_header) .And(x => x.Date == p_dayStamp) .SingleOrDefault(); return query; } }
public void DeleteRefillInventory(RefillInventoryHeaderDataEntity refillInv) { m_refillInvDao.Delete(refillInv); }
public void saveNewHeaderAndNewDaySummary() { // test for new header and new day // should create new record for daysummary RefillHeaderDataEntity header = new RefillHeaderDataEntity(); RefillDetailDataEntity detail = new RefillDetailDataEntity(); RefillTransactionTypeDataEntity transactionType = new RefillTransactionTypeDao().GetByName("Delivery"); RefillProductTypeDataEntity productType = new RefillProductTypeDao().GetByName("5 Gal at 25"); CustomerDao custdao = new CustomerDao(); CustomerDataEntity customer = custdao.GetByName("Vanessa Dee"); if(customer == null) { customer = new CustomerDataEntity(); customer.Name = "Vanessa Dee"; customer.Address = "Cebu"; customer.ContactNumber = "111-1111"; } header.Date = DateTime.Now; header.TransactionType = transactionType; detail.Header = header; // set header entity in detail for nhibernate to pickup and map detail.ProductType = productType; detail.Qty = 10; detail.Amount = productType.Price * Convert.ToDecimal(detail.Qty); detail.StoreBottleQty = 10; detail.StoreCapQty = 10; // update main inventory // TODO: fix proper handling of inventory per type of bottle??? RefillInventoryDao refillInvDao = new RefillInventoryDao(); RefillInventoryHeaderDataEntity inv = new RefillInventoryHeaderDataEntity(); //inv = refillInvDao.GetByName("Cap"); //inv.TotalQty = 500; //inv.QtyOnHand -= detail.StoreCapQty; //inv.QtyReleased += detail.StoreCapQty; //refillInvDao.Update(inv); inv = refillInvDao.GetByName("5 Gal Bottle"); inv.QtyOnHand -= detail.StoreBottleQty; inv.QtyReleased += detail.StoreBottleQty; refillInvDao.Update(inv); // update cust inventory RefillCustomerInventoryDao custInvDao = new RefillCustomerInventoryDao(); RefillCustInventoryHeaderDataEntity custInv= new RefillCustInventoryHeaderDataEntity(); custInv.Customer = customer; custInv.CapsOnHand += detail.StoreCapQty; custInv.BottlesOnHand += detail.StoreBottleQty; header.Customer = customer; header.DetailEntities.Add(detail); // add detail to header details list header.AmountDue = detail.Amount; header.TotalQty = detail.Qty; header.AmountTender = header.AmountDue; if(header.AmountTender == header.AmountTender){ header.PaidFlag = true; } else{ header.PaidFlag = false; } // set paymentdetail RefillPaymentDetailDataEntity paymentdetail = new RefillPaymentDetailDataEntity(); paymentdetail.Amount = header.AmountTender; paymentdetail.PaymentDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); paymentdetail.Header = header; header.PaymentDetailEntities.Add(paymentdetail); // set daysummary RefillDaySummaryDataEntity daysummary = new RefillDaySummaryDataEntity(); daysummary.DayStamp = Convert.ToDateTime(DateTime.Now.ToShortDateString()); daysummary.TotalSales += header.AmountTender; daysummary.TransCount += 1; daysummary.HeaderEntities.Add(header); // set header entity in daysummary for nhibernate to pickup and map header.DaySummary = daysummary; // set daysummary entity in header for nhibernate to pickup and map custdao.SaveOrUpdate(customer); // save or update customer custInvDao.SaveOrUpdate(custInv); // save daysummary record; no need to explicitly save header,detail,jobcharges,paymentdetail, etc for new daysummary record // this will handle the saving for the linked tables RefillDao ldao = new RefillDao(); ldao.SaveOrUpdate(header); }
private List<RefillInventoryHeaderDataEntity> GetRefillInvDataValueChange(List<int> rowIndexChange, out string errorMessage) { List<RefillInventoryHeaderDataEntity> refillInvs = new List<RefillInventoryHeaderDataEntity>(); RefillInventoryHeaderDataEntity refillInv = new RefillInventoryHeaderDataEntity(); List<string> updatedRefillInv = new List<string>(); string errorMsg = string.Empty; int addStocks = 0; int removeStocks = 0; string name = string.Empty; foreach(int rowIndex in rowIndexChange) { if(!this.dgvRefillInventory.Rows[rowIndex].Cells["AddStocks"].Value.ToString().Trim().Equals(string.Empty)) addStocks = (int)this.dgvRefillInventory.Rows[rowIndex].Cells["AddStocks"].Value; if(!this.dgvRefillInventory.Rows[rowIndex].Cells["RemoveStocks"].Value.ToString().Trim().Equals(string.Empty)) removeStocks = (int)this.dgvRefillInventory.Rows[rowIndex].Cells["RemoveStocks"].Value; if(rowIndex <= refillInvMaxRowIndex) { int ID = (int)this.dgvRefillInventory.Rows[rowIndex].Cells["InvHeaderID"].Value; refillInv = m_refillInvEntity.Find(m_refillInv => m_refillInv.InvHeaderID == ID); RefillInventoryDetailDataEntity invDetail = new RefillInventoryDetailDataEntity(); bool detailFound = false; foreach(RefillInventoryDetailDataEntity detail in refillInv.DetailEntities) { if(detail.Date == DateTime.Now.Date) { detail.QtyAdded += addStocks; detail.QtyRemoved += removeStocks; detail.QtyOnHand += addStocks - removeStocks; detail.TotalQty += addStocks - removeStocks; detailFound = true; break; } } if(!detailFound){ invDetail = new RefillInventoryDetailDataEntity(); invDetail.Date = DateTime.Now.Date; invDetail.QtyAdded += addStocks; invDetail.QtyRemoved += removeStocks; invDetail.QtyOnHand += addStocks - removeStocks; invDetail.TotalQty += addStocks - removeStocks; invDetail.Header = refillInv; refillInv.DetailEntities.Add(invDetail); } refillInv.QtyOnHand += addStocks - removeStocks; refillInv.TotalAdded += addStocks; refillInv.TotalRemoved += removeStocks; refillInv.TotalQty += addStocks - removeStocks; refillInvs.Add(refillInv); updatedRefillInv.Add(refillInv.Name.ToUpper()); } else { RefillInventoryHeaderDataEntity header = new RefillInventoryHeaderDataEntity(); RefillInventoryHeaderDataEntity newHeader = new RefillInventoryHeaderDataEntity(); RefillInventoryDetailDataEntity detail = new RefillInventoryDetailDataEntity(); name = this.dgvRefillInventory.Rows[rowIndex].Cells["Name"].Value.ToString().Trim(); newHeader = m_refillInvEntity.Find(m_refillInv => m_refillInv.Name.ToUpper() == name.ToUpper()); if((newHeader == null || newHeader.InvHeaderID == 0) && !updatedRefillInv.Contains(name.ToUpper())) { header.Name = name; header.QtyOnHand += addStocks; header.TotalAdded += addStocks; header.TotalQty += addStocks; detail.Header = header; detail.Date = DateTime.Now.Date; detail.QtyAdded += addStocks; detail.QtyOnHand += addStocks; detail.TotalQty += addStocks; header.DetailEntities.Add(detail); refillInvs.Add(header); updatedRefillInv.Add(header.Name.ToUpper()); } else { errorMsg += name + " , "; } } } errorMessage = errorMsg; return refillInvs; }
void BtnDeleteInvClick(object sender, EventArgs e) { RefillInventoryHeaderDataEntity refillInv = new RefillInventoryHeaderDataEntity(); if(this.dgvRefillInventory.SelectedRows.Count > 0) { if(MessageService.ShowYesNo("Are you sure to delete selected inventory item?", "Delete Inventory Item")) { foreach(DataGridViewRow currentRow in this.dgvRefillInventory.SelectedRows) { if(currentRow.Index <= refillInvMaxRowIndex) { int ID = (int)this.dgvRefillInventory.Rows[currentRow.Index].Cells["InvHeaderID"].Value; refillInv = m_refillInvEntity.Find(m_refillInv => m_refillInv.InvHeaderID == ID); m_presenter.DeleteRefillInventory(refillInv); } if(!this.dgvRefillInventory.Rows[currentRow.Index].IsNewRow) dgvRefillInventory.Rows.Remove(this.dgvRefillInventory.Rows[currentRow.Index]); } m_presenter.SetAllRefillInventory(); this.dgvRefillInventory.AllowUserToAddRows = false; refillInvMaxRowIndex = this.dgvRefillInventory.RowCount - 1; refillInvIndexChange.Clear(); } } }
public void Update(RefillInventoryHeaderDataEntity p_inventory ) { using(var session = NHibernateHelper.OpenSession()) { using(var transaction = session.BeginTransaction()) { session.Update(p_inventory); transaction.Commit(); } } }
private RefillInventoryDetailDataEntity CreateNewInventoryDetail(RefillInventoryHeaderDataEntity header, int returnedQty, DateTime daystamp) { RefillInventoryDetailDataEntity detail = new RefillInventoryDetailDataEntity(); detail.Header = header; detail.QtyOnHand += returnedQty; detail.QtyReleased -= returnedQty; detail.Date = daystamp; return detail; }
private bool UpdateRefillCustomerInventory(RefillHeaderDataEntity headerEntity) { try{ RefillInventoryHeaderDataEntity inventoryHeader = new RefillInventoryHeaderDataEntity(); RefillCustInventoryHeaderDataEntity customerInvHeader = m_customerInvDao.GetByCustomer(headerEntity.Customer); if(customerInvHeader == null){ customerInvHeader = new RefillCustInventoryHeaderDataEntity(); customerInvHeader.Customer = headerEntity.Customer; } foreach(RefillDetailDataEntity detail in headerEntity.DetailEntities){ if(detail.ProductType.Name.StartsWith("5 Gal",true,null)){ inventoryHeader = m_refillInvDao.GetByName("5 Gal"); if(inventoryHeader != null){ inventoryHeader.QtyOnHand -= detail.StoreBottleQty; inventoryHeader.QtyReleased += detail.StoreBottleQty; customerInvHeader.CapsOnHand += detail.StoreCapQty; customerInvHeader.BottlesOnHand += detail.StoreBottleQty; m_refillInvDao.Update(inventoryHeader); m_customerInvDao.SaveOrUpdate(customerInvHeader); UpdateCapsQty(detail, customerInvHeader, false); UpdateInventoryDetail(inventoryHeader); } } } }catch(Exception ex){ MessageService.ShowError("Unexpected exception occured while processing your request.\nPlease see log file for technical details","Error", ex); return false; } return true; }
private void UpdateCapsQty(RefillDetailDataEntity detail, RefillCustInventoryHeaderDataEntity customerInvHeader, bool voided) { RefillInventoryHeaderDataEntity inventoryHeader = new RefillInventoryHeaderDataEntity(); inventoryHeader = m_refillInvDao.GetByName("Caps"); if(inventoryHeader != null){ if(!voided){ inventoryHeader.QtyOnHand -= detail.StoreCapQty; inventoryHeader.QtyReleased += detail.StoreCapQty; customerInvHeader.CapsOnHand += detail.StoreCapQty; }else{ inventoryHeader.QtyOnHand += detail.StoreCapQty; inventoryHeader.QtyReleased -= detail.StoreCapQty; customerInvHeader.CapsOnHand -= detail.StoreCapQty; } m_refillInvDao.Update(inventoryHeader); UpdateInventoryDetail(inventoryHeader); } }
public void VoidTransaction() { try{ m_OriginalHeaderEntity.VoidFlag = true; m_refillDao.Update(m_OriginalHeaderEntity); RefillDaySummaryDataEntity daySummary = m_summaryDao.GetByDayId(m_OriginalHeaderEntity.DaySummary.DayID); daySummary.TotalSales -= m_OriginalHeaderEntity.AmountTender; daySummary.TransCount -= 1; m_summaryDao.Update(daySummary); RefillInventoryHeaderDataEntity inventoryHeader = new RefillInventoryHeaderDataEntity(); RefillCustInventoryHeaderDataEntity customerInvHeader = m_customerInvDao.GetByCustomer(m_OriginalHeaderEntity.Customer); foreach(RefillDetailDataEntity detail in m_OriginalHeaderEntity.DetailEntities){ if(detail.ProductType.Name.StartsWith("5 Gal",true,null)){ inventoryHeader = m_refillInvDao.GetByName("5 Gal"); if(inventoryHeader != null){ inventoryHeader.QtyOnHand += detail.StoreBottleQty; inventoryHeader.QtyReleased -= detail.StoreBottleQty; customerInvHeader.CapsOnHand -= detail.StoreCapQty; customerInvHeader.BottlesOnHand -= detail.StoreBottleQty; m_refillInvDao.Update(inventoryHeader); m_customerInvDao.SaveOrUpdate(customerInvHeader); UpdateCapsQty(detail, customerInvHeader, true); UpdateInventoryDetail(inventoryHeader); } } } MessageService.ShowInfo("Successfully voiding transaction with JO number: " + m_OriginalHeaderEntity.RefillHeaderID.ToString().PadLeft(6, '0')); }catch(Exception ex){ MessageService.ShowError("There is a problem while voiding this transaction.\nPlease see the log file for technical details." ,"Error in Voiding Transaction", ex); } }
public void UpdateInventoryDetail(RefillInventoryHeaderDataEntity p_inventoryHeader) { if(p_inventoryHeader != null){ DateTime today = Convert.ToDateTime(DateTime.Now.ToShortDateString()); RefillInventoryDetailDataEntity inventoryDetail = m_refillInvDetailDao.GetDetailDay(p_inventoryHeader, today); if(inventoryDetail == null){ inventoryDetail = new RefillInventoryDetailDataEntity(); } inventoryDetail.Header = p_inventoryHeader; inventoryDetail.Date = today; inventoryDetail.QtyAdded = 0; inventoryDetail.QtyOnHand = p_inventoryHeader.QtyOnHand; inventoryDetail.QtyReleased = p_inventoryHeader.QtyReleased; inventoryDetail.QtyRemoved = 0; inventoryDetail.TotalQty = p_inventoryHeader.TotalQty; m_refillInvDetailDao.SaveOrUpdate(inventoryDetail); } }