public void PrintTransaction(LaundryHeaderDataEntity p_headerEntity) { if(p_headerEntity != null){ MessageService.ShowInfo("Printing checklist with JO number: " + p_headerEntity.LaundryHeaderID.ToString().PadLeft(6, '0')); try{ PrintService.PrintCheckList(p_headerEntity, GetPrinterInfo()); }catch(Exception ex){ MessageService.ShowError("Unexpected exception has occurred during printing. Please verify whether printer is installed and online. \n Please check error logs for details.", "Error in Printing", ex); } } }
public CheckListView(LaundryHeaderDataEntity p_headerEntity, int p_jonumber) { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // Resource.setIcon(this, System.IO.Directory.GetCurrentDirectory() + "/images/checklist.ico"); this.SetTitle("Laundry Check List"); m_presenter = new CheckListViewPresenter(this, new LaundryChecklistDao()); m_headerEntity = p_headerEntity; m_jonumber = p_jonumber; }
public static bool PrintCheckList(LaundryHeaderDataEntity header, PrinterDataEntity printer) { try { SetPrinter(printer); if (ps == null) return false; StringBuilder sb = new StringBuilder(); sb.Append(SetAlignment("CENTER")); sb.Append(SetFontSize(2)); sb.AppendLine("CHECKLIST"); sb.Append(SetFontSize(0)); sb.AppendLine(""); sb.Append(SetAlignment("LEFT")); sb.AppendLine("SO#: " + header.LaundryHeaderID.ToString()); sb.AppendLine("CUSTOMER: " + header.Customer.Name); sb.AppendLine("DATE: " + header.ReceivedDate.ToShortDateString()); sb.AppendLine(""); sb.Append(SetAlignment("CENTER")); sb.Append(" ITEM # OF ITEMS"); sb.AppendLine(""); int qty = 0; foreach(LaundryJobChecklistDataEntity checklist in header.JobChecklistEntities) { sb.AppendLine(SetAlignment("CENTER") + " " + FormatStringAlignment(checklist.Checklist.Name.ToUpper(),"LEFT") + FormatStringAlignment(checklist.Qty.ToString(), "RIGHT")); qty += checklist.Qty; } sb.AppendLine(""); sb.AppendLine(""); sb.Append(SetAlignment("CENTER")); sb.AppendLine("LISTED "+ qty.ToString() +" of " +header.TotalItemQty.ToString() + " ITEMS"); sb.AppendLine(""); sb.AppendLine("******************************"); sb.AppendLine(""); sb.AppendLine(""); sb.Append(CutPaper()); RawPrinterHelper.SendStringToPrinter(ps.PrinterName, sb.ToString()); return true; } catch(Exception ex) { throw ex; } }
public void getLaundryByID() { LaundryHeaderDataEntity header = new LaundryHeaderDataEntity(); LaundryDao dao = new LaundryDao(); header = dao.GetByID(1); Assert.NotNull(header); Assert.AreEqual("John Doe", header.Customer.Name); foreach(LaundryDetailDataEntity detail in header.DetailEntities) { Console.WriteLine("service name: " + detail.Service.Name); Console.WriteLine("category name: " + detail.Category.Name); Console.WriteLine("itemqty: " + detail.ItemQty); Console.WriteLine("kilo: " + detail.Kilo); Console.WriteLine("amount: " + detail.Amount); } }
public void Delete(LaundryHeaderDataEntity p_header) { using(var session = NHibernateHelper.OpenSession()) { using(var transaction = session.BeginTransaction()) { try { session.Delete(p_header); transaction.Commit(); } catch(Exception ex) { transaction.Rollback(); throw ex; } } } }
void LaundryNewViewLoad(object sender, EventArgs e) { setButtonImages(); Resource.formatAlternatingRows(dataGridView1); m_laundryDao = new LaundryDao(); m_presenter = new LaundryViewPresenter(this, m_laundryDao); if(this.Text.Contains("[NEW]")){ Resource.setIcon(this, System.IO.Directory.GetCurrentDirectory() + "/images/basket_new.ico"); m_headerEntity = new LaundryHeaderDataEntity(); m_presenter.SetAllCustomers(); this.groupBox2.Enabled = this.btnclaim.Enabled = btndelete.Enabled = false; txtjoborder.Text = m_presenter.getHeaderID().ToString().PadLeft(6, '0'); this.dtrecieveDate.Value = DateTime.Now; this.dtdueDate.Value = DateTime.Now; dataGridView1.AllowUserToDeleteRows = true; }else{ Resource.setIcon(this, System.IO.Directory.GetCurrentDirectory() + "/images/basket_claim.ico"); cmbCustomers.Enabled = false; grpServices.Enabled = false; lblchecklist.Enabled = false; //btncancel.Enabled = false; txtdiscount.Enabled = false; dataGridView1.AllowUserToDeleteRows = false; //btnprint.Enabled = true; btnDeleteDetail.Enabled = false; cmbCustomers.DropDownStyle = ComboBoxStyle.DropDown; EnableDisableControls(false); txtsearch.Focus(); } m_presenter.SetAllServices(); m_presenter.SetAllCharges(); }
public void LoadHeaderEntityData(LaundryHeaderDataEntity p_headerEntity) { this.m_headerEntity = p_headerEntity; if(this.m_headerEntity != null){ btnsaveclose.Enabled = true; btnclaim.Enabled = true; chkchargesList.Enabled = true; txtjoborder.Text = m_headerEntity.LaundryHeaderID.ToString().PadLeft(6, '0'); cmbCustomers.Text = m_headerEntity.Customer.Name; dtrecieveDate.Value = m_headerEntity.ReceivedDate; dtdueDate.Value = m_headerEntity.DueDate; foreach(LaundryDetailDataEntity detailEntity in m_headerEntity.DetailEntities){ dataGridView1.Rows.Add(detailEntity.Service.Name, detailEntity.Category.Name, detailEntity.Kilo.ToString(), detailEntity.ItemQty.ToString(), detailEntity.Amount.ToString("N2")); } //chkpaywhenclaim.Enabled = m_headerEntity.PaidFlag; for(int i=0;i<chkchargesList.Items.Count;i++){ foreach(LaundryJobChargesDataEntity chargeEntity in m_headerEntity.JobChargeEntities){ if(chkchargesList.Items[i].ToString().Equals(chargeEntity.Charge.Name)){ chkchargesList.SetItemChecked(i, true); } } } // load amount details txtamtdue.Text = m_headerEntity.AmountDue.ToString("N2"); txttotalamtdue.Text = m_headerEntity.TotalAmountDue.ToString("N2"); txttotaldiscount.Text = m_headerEntity.TotalDiscount.ToString("0"); txtdiscount.Text = ((m_headerEntity.TotalDiscount / (m_headerEntity.AmountDue + m_headerEntity.TotalCharge)) * 100).ToString("0"); totalPayment = m_headerEntity.TotalPayment; txtbalance.Text = (m_headerEntity.TotalAmountDue - m_headerEntity.TotalPayment).ToString("N2"); lblchecklist.Enabled = true; if(m_headerEntity.ClaimFlag){ lblvoid.Visible = true; lblvoid.Text = "CLAIMED TRANSACTION"; lblvoid.ForeColor = Color.Green; EnableDisableControls(false); }else{ EnableDisableControls(true); } if(m_headerEntity.VoidFlag){ lblvoid.Visible = true; lblvoid.Text = "VOIDED TRANSACTION"; lblvoid.ForeColor = Color.Red; //btndelete.Enabled = false; EnableDisableControls(false); }else if(!m_headerEntity.ClaimFlag){ lblvoid.Visible = false; //btndelete.Enabled = true; //EnableDisableControls(true); } }else MessageService.ShowWarning("Can't find JO Number: " + txtsearch.Text, "Non-existing"); }
public void saveNewHeaderAndNewDaySummary() { // test for new header and new day // should create new record for daysummary LaundryHeaderDataEntity header = new LaundryHeaderDataEntity(); LaundryDetailDataEntity detail = new LaundryDetailDataEntity(); LaundryJobChargesDataEntity jobcharge = new LaundryJobChargesDataEntity(); LaundryCategoryDataEntity category = new LaundryCategoryDao().GetByName("Colored Garments"); LaundryServiceDataEntity service = new LaundryServiceDao().GetByName("Wash - Dry - Fold"); LaundryPriceSchemeDataEntity pricescheme = new LaundryPriceSchemeDao().GetByCategoryService(service,category); CustomerDao custdao = new CustomerDao(); CustomerDataEntity customer = custdao.GetByName("John Dee"); if(customer == null) { customer = new CustomerDataEntity(); customer.Name = "John Dee"; customer.Address = "Cebu"; customer.ContactNumber = "111-1111"; } header.Customer = customer; header.ReceivedDate = DateTime.Now; header.DueDate = DateTime.Now.AddDays(5); // add 5 days for due date detail.Header = header; // set header entity in detail for nhibernate to pickup and map detail.Category = category; detail.Service = service; detail.Kilo = 5; detail.Amount = pricescheme.Price * Convert.ToDecimal(detail.Kilo); detail.ItemQty = 20; jobcharge.Charge = new LaundryChargeDao().GetByName("Delivery"); jobcharge.Header = header; // set header entity in jobcharge for nhibernate to pickup and map header.DetailEntities.Add(detail); // add detail to header details list header.JobChargeEntities.Add(jobcharge); // add charges to header charges list header.ClaimFlag = false; header.AmountDue = detail.Amount; header.TotalItemQty = detail.ItemQty; header.TotalCharge = jobcharge.Charge.Amount; header.TotalDiscount = 0; header.TotalAmountDue = (header.AmountDue + header.TotalCharge) - header.TotalDiscount; header.TotalPayment = header.TotalAmountDue; if(header.TotalPayment == header.TotalAmountDue){ header.PaidFlag = true; } else{ header.PaidFlag = false; } // set paymentdetail LaundryPaymentDetailDataEntity paymentdetail = new LaundryPaymentDetailDataEntity(); paymentdetail.Amount = header.TotalPayment; paymentdetail.PaymentDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); paymentdetail.Header = header; header.PaymentDetailEntities.Add(paymentdetail); // set daysummary LaundryDaySummaryDataEntity daysummary = new LaundryDaySummaryDataEntity(); daysummary.DayStamp = Convert.ToDateTime(DateTime.Now.ToShortDateString()); daysummary.TotalSales += header.TotalPayment; 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 // 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 // FIX: save new header & new daysummary thru laundrydao instead of laundrydaysummary LaundryDao dao = new LaundryDao(); dao.SaveOrUpdate(header); }
public void saveNewHeaderAndUpdateDaySummary() { // test for new header but with existing daysummary // should not save new record for daysummary // should only update existing daysummary with transcount and sales DateTime sampleDay = Convert.ToDateTime(DateTime.Now.ToShortDateString()); // daystamp in daysummary should be date only (no time); LaundryDaySummaryDao summarydao = new LaundryDaySummaryDao(); LaundryDaySummaryDataEntity summary = summarydao.GetByDay(sampleDay); if(summary!= null) { LaundryHeaderDataEntity header = new LaundryHeaderDataEntity(); LaundryDetailDataEntity detail = new LaundryDetailDataEntity(); LaundryJobChargesDataEntity jobcharge = new LaundryJobChargesDataEntity(); LaundryCategoryDataEntity category = new LaundryCategoryDao().GetByName("White Garments"); LaundryServiceDataEntity service = new LaundryServiceDao().GetByName("Wash - Dry - Press"); LaundryPriceSchemeDataEntity pricescheme = new LaundryPriceSchemeDao().GetByCategoryService(service,category); CustomerDao custdao = new CustomerDao(); CustomerDataEntity customer = custdao.GetByName("John Dee"); if(customer == null) { customer = new CustomerDataEntity(); customer.Name = "John Dee"; customer.Address = "Cebu"; customer.ContactNumber = "111-1111"; } header.Customer = customer; header.ReceivedDate = DateTime.Now; header.DueDate = DateTime.Now.AddDays(5); // add 5 days for due date detail.Header = header; // set header entity in detail for nhibernate to pickup and map detail.Category = category; detail.Service = service; detail.Kilo = 100; detail.Amount = pricescheme.Price * Convert.ToDecimal(detail.Kilo); detail.ItemQty = 300; jobcharge.Charge = new LaundryChargeDao().GetByName("Delivery"); jobcharge.Header = header; // set header entity in jobcharge for nhibernate to pickup and map header.DetailEntities.Add(detail); // add detail to header details list header.JobChargeEntities.Add(jobcharge); // add charges to header charges list header.ClaimFlag = false; header.AmountDue = detail.Amount; header.TotalItemQty = detail.ItemQty; header.TotalCharge = jobcharge.Charge.Amount; header.TotalDiscount = 50.00M; header.TotalAmountDue = (header.AmountDue + header.TotalCharge) - header.TotalDiscount; header.TotalPayment += 50.00M; // accumulate amount tender with current amount tender // TODO: should update paidflag in header if total balance = 0. // set paymentdetail LaundryPaymentDetailDataEntity paymentdetail = new LaundryPaymentDetailDataEntity(); paymentdetail.Amount = header.TotalPayment; paymentdetail.PaymentDate = Convert.ToDateTime(DateTime.Now.ToShortDateString()); paymentdetail.Header = header; header.PaymentDetailEntities.Add(paymentdetail); summary.TransCount += 1; summary.TotalSales += header.TotalPayment; header.DaySummary = summary; // update daysummary with transcount and totalsales LaundryDaySummaryDao dao = new LaundryDaySummaryDao(); dao.Update(summary); // save header,details,etc. LaundryDao ldao = new LaundryDao(); ldao.SaveOrUpdate(header); } }
private static void PrintClaimSlip(ref StringBuilder sb, LaundryHeaderDataEntity header, CompanyDataEntity company) { string[] itemArr; string item; PrintHeader(ref sb, company); sb.Append(SetFontSize(2)); sb.AppendLine("CLAIM SLIP"); sb.Append(SetFontSize(0)); sb.AppendLine(""); sb.Append(SetAlignment("LEFT")); sb.AppendLine("SO# : " + header.LaundryHeaderID.ToString()); sb.AppendLine("CUSTOMER : " + header.Customer.Name.ToUpper()); sb.AppendLine("DATE RECEIVED : " + header.ReceivedDate.ToShortDateString()); sb.AppendLine("DATE DUE : " + header.DueDate.ToShortDateString()); sb.AppendLine(""); sb.AppendLine("#OF ITEMS KLS. " + SetAlignment("RIGHT") + "ITEM TOTAL"); foreach(LaundryDetailDataEntity detail in header.DetailEntities) { itemArr = detail.Service.Name.Split(' '); item =""; foreach(string st in itemArr) { if(!st.Equals("-")){ item += st.Substring(0,1); } } item += "-"; itemArr = detail.Category.Name.Split(' '); foreach(string st in itemArr){ item += st.Substring(0,1); } sb.AppendLine(SetAlignment("LEFT") + " " + FormatStringAlignment(detail.ItemQty.ToString(), "LEFT") + FormatStringAlignment(detail.Kilo.ToString(),"LEFT")); sb.AppendLine(SetAlignment("RIGHT") + FormatStringAlignment(item,"RIGHT") + FormatStringAlignment(detail.Amount.ToString("N2"),"RIGHT")); } sb.AppendLine(""); sb.AppendLine(""); sb.Append(SetAlignment("CENTER")); sb.AppendLine(header.TotalItemQty.ToString() + " ITEMS"); sb.Append(SetAlignment("RIGHT")); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine(" TOTAL: " + FormatStringAlignment(header.TotalAmountDue.ToString("N2"),"RIGHT")); sb.AppendLine("DEPOSIT: " + FormatStringAlignment(header.TotalPayment.ToString("N2"),"RIGHT")); sb.AppendLine("BALANCE: " + FormatStringAlignment((header.TotalAmountDue - header.TotalPayment).ToString("N2"),"RIGHT")); PrintFooter(ref sb); sb.Append(CutPaper()); }
private static void PrintTag(ref StringBuilder sb, LaundryHeaderDataEntity header) { sb.Append(SetAlignment("CENTER")); sb.Append(SetFontSize(5)); sb.AppendLine(header.Customer.Name.ToUpper()); sb.Append(SetFontSize(4)); sb.AppendLine(header.LaundryHeaderID.ToString()); sb.Append(SetFontSize(0));; sb.AppendLine(""); sb.AppendLine(""); sb.Append(CutPaper()); }
public static bool PrintLaundrySlip(PrinterDataEntity printer, LaundryHeaderDataEntity header, CompanyDataEntity company) { try{ SetPrinter(printer); if (ps == null) return false; StringBuilder sb = new StringBuilder(); PrintClaimSlip(ref sb, header, company); RawPrinterHelper.SendStringToPrinter(ps.PrinterName, sb.ToString()); sb = new StringBuilder(); PrintTag(ref sb, header); ps.Copies = 1; RawPrinterHelper.SendStringToPrinter(ps.PrinterName, sb.ToString()); return true; } catch(Exception ex) { throw ex; } }
private bool SaveDaySummary(LaundryHeaderDataEntity headerEntity) { try{ DateTime today = Convert.ToDateTime(DateTime.Now.ToShortDateString()); // daystamp in daysummary should be date only (no time); LaundryDaySummaryDataEntity daySummary = m_summaryDao.GetByDay(today); headerEntity.PaymentDetailEntities = m_headerEntity.PaymentDetailEntities; if(daySummary != null) { if(m_view.GetTitle().Contains("NEW")) daySummary.TransCount += 1; //TODO: totalsales should be totalamoutdue - balance if(headerEntity.PaymentDetailEntities[headerEntity.PaymentDetailEntities.Count-1] != null) daySummary.TotalSales += headerEntity.PaymentDetailEntities[headerEntity.PaymentDetailEntities.Count-1].Amount; else daySummary.TotalSales += 0; headerEntity.DaySummary = daySummary; // update daysummary with transcount and totalsales m_summaryDao.Update(daySummary); }else{ // set daysummary daySummary = new LaundryDaySummaryDataEntity(); daySummary.DayStamp = Convert.ToDateTime(DateTime.Now.ToShortDateString()); //TODO: totalsales should be amounttender - amount change. if(headerEntity.PaymentDetailEntities[headerEntity.PaymentDetailEntities.Count-1] != null) daySummary.TotalSales += headerEntity.PaymentDetailEntities[headerEntity.PaymentDetailEntities.Count-1].Amount; else daySummary.TotalSales += 0; if(m_view.GetTitle().Contains("NEW")) daySummary.TransCount += 1; // set header entity in daysummary for nhibernate to pickup and map daySummary.HeaderEntities.Add(headerEntity); // set daysummary entity in header for nhibernate to pickup and map m_headerEntity.DaySummary = daySummary; //m_chargeDao.SaveOrUpdate(headerEntity. //m_customerDao.SaveOrUpdate(headerEntity.Customer); // 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 } m_laundryDao.SaveOrUpdate(headerEntity); }catch(Exception ex){ MessageService.ShowError("Unexpected exception occured while saving your entries.\nPlease see log file for technical details.","Error in Saving", ex); return false; } return true; }
public void SaveClicked() { m_headerEntity = m_view.ProcessHeaderDataEntity(); new_ChargeEntities = m_headerEntity.JobChargeEntities as List<LaundryJobChargesDataEntity>; new_DetailEntities = m_headerEntity.DetailEntities as List<LaundryDetailDataEntity>; new_ChecklistEntities = m_headerEntity.JobChecklistEntities as List<LaundryJobChecklistDataEntity>; if(m_view.GetTitle().Contains("NEW")){ if(!SaveDaySummary(m_headerEntity)) return; if(MessageService.ShowYesNo("Successfully saved entries." + Environment.NewLine + "Do you want to print this transaction with JO number: " + m_headerEntity.LaundryHeaderID.ToString().PadLeft(6, '0') + "?" ,"Information")){ try{ PrintService.PrintLaundrySlip(GetPrinterInfo(), m_headerEntity, GetCompanyInfo()); }catch(Exception ex){ MessageService.ShowError("Unexpected exception has occurred during printing. Please verify whether printer is installed and online. \n Please check error logs for details.", "Error in Printing", ex); } } }else if(m_view.GetTitle().Contains("CLAIM")){ SaveUpdateDetails(); SaveOrDeleteJobCharges(); if(!SaveUpdateOrDeleteJobCheckList()) return; if(!SaveDaySummary(m_OriginalHeaderEntity)) return; MessageService.ShowInfo("Successfully saved entries.","Information"); } }
public void PrintTransaction() { m_headerEntity = m_view.ProcessHeaderDataEntity(); if(m_headerEntity != null){ MessageService.ShowInfo("Printing transaction with JO number: " + m_headerEntity.LaundryHeaderID.ToString().PadLeft(6, '0')); try{ PrintService.PrintLaundrySlip(GetPrinterInfo(), m_headerEntity, GetCompanyInfo()); }catch(Exception ex){ MessageService.ShowError("Unexpected exception has occurred during printing. Please verify whether printer is installed and online. \n Please check error logs for details.", "Error in Printing", ex); } } }
public void getHeaderEntityByJONumber(int jonumber) { m_OriginalHeaderEntity = m_laundryDao.GetByID(jonumber); m_view.LoadHeaderEntityData(m_OriginalHeaderEntity); }