private string getVatCode(clsTaxHandling objTax, String strBType) { String strRet = objTax.DefaultSalesCode; clsAppConfig objAppConfig = new clsAppConfig(); String strTmp = objAppConfig.getStringParam("VLASKUTYY", strBType, "C5", ""); if (strTmp.Contains("V")) { strRet = "0"; } return(strRet); }
private bool invoiceContract(Contract objContract, bool bDraft, bool bManual, String Payer, int InvoiceSeqNr, bool bCapital) { bool bRet = true; clsAppConfig objAppConfig = new clsAppConfig(); clsGlobalVariable objGlobal = new clsGlobalVariable(); SCInvoice objInv = new SCInvoice(); clsSqlFactory hSql = new clsSqlFactory(); objInv.InvoiceSeqNr = InvoiceSeqNr; if (Payer == "") { if (objContract.InvoiceCustId != null) { objInv.CustNo = objContract.InvoiceCustId.CustNr; } else { objInv.CustNo = objContract.ContractCustId.CustNr; } } else { objInv.CustNo = objAppConfig.getNumberParam("ZSCCAPPAYE", Payer, "V1", ""); } objInv.DCustNo = objContract.ContractCustId.CustNr; objInv.UnitId = objContract.InvoiceSiteId.strValue1; objInv.ContractOID = objContract.ContractOID; objInv.ExtOrderId = objContract.ExtContractNo; if (objInv.ExtOrderId.Length > 10) { objInv.ExtOrderId = objInv.ExtOrderId.Substring(0, 10); } objInv.SalesType = objAppConfig.getStringParam("ZSCSETTING", "TRTYPE", "C3", ""); objInv.SmanId = objContract.RespSmanId.SmanId; objInv.TPCODE = objContract.ContractPaymentData.PaymentTerm.strValue1; objInv.TPTIME = objAppConfig.getNumberParam("MAKSUEHDOT", objInv.TPCODE, "V1", ""); if (objContract.CostCenter.strValue1 != "") { hSql.NewCommand("select isnull(a.C4,'') from CORW a where a.CODAID='ZSCCOSTCC' and a.C3=? and a.C5=? "); hSql.Com.Parameters.Add("UNITID", objContract.SiteId.strValue1); hSql.Com.Parameters.Add("COSTCENTER", objContract.CostCenter.strValue1); hSql.ExecuteReader(); if (hSql.Read()) { objInv.DeptId = hSql.Reader.GetString(0); } } objInv.Payer = Payer; objInv.OUserId = objGlobal.DMSFirstUserName; objInv.VehiId = objContract.VehiId.VehiId; objInv.Note = objContract.ContractNo.ToString() + "/" + objContract.VersionNo.ToString() + "/" + objInv.InvoiceSeqNr.ToString(); hSql.NewCommand("select isnull(a.C4,''), isnull(a.C5,'') from CORW a, VEHI b where a.CODAID='ZSCCONV' and a.C2='VEHICLASS2BTYPE' and a.C3=b.CLASS and b.VEHIID=? "); hSql.Com.Parameters.Add("VEHIID", objContract.VehiId.VehiId); hSql.ExecuteReader(); if (hSql.Read()) { objInv.BTYPE = hSql.Reader.GetString(0); objInv.PartPostFix = hSql.Reader.GetString(1); } if (objContract.ContractPaymentData.PaymentGroupingLevel == PaymentGroupingType.Customer) { objInv.BTYPE = "0"; } else { if (objContract.PaymentCollecType == PaymentCollectionType.Transfer) { objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT4", "C3", ""); } else if (objContract.PaymentCollecType == PaymentCollectionType.Debit) { objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT5", "C3", ""); } else if (objContract.PaymentCollecType == PaymentCollectionType.Plain) { objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT6", "C3", ""); } else { if (bManual == true) { objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT2", "C3", ""); } else { objInv.BTYPE = objAppConfig.getStringParam("ZSCSETTING", "INVCAT1", "C3", ""); } } } if (Payer != "") { objInv.BTYPE = objAppConfig.getStringParam("ZSCCAPPAYE", Payer, "C3", ""); } if (objContract.NextInvoiceDate == DateTime.MinValue) { objInv.BILLD = DateTime.Now; } else { objInv.BILLD = objContract.NextInvoiceDate; } int nInvoiceDay = objContract.ContractPaymentData.InvoiceDate; if (nInvoiceDay <= 0) { nInvoiceDay = objAppConfig.getNumberParam("ZSCSETTING", "INVDATE", "V1", ""); } if (objInv.BILLD.Day > nInvoiceDay) { objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay); objInv.BILLD = objInv.BILLD.AddMonths(1); } else if (objInv.BILLD.Day < nInvoiceDay) { objInv.BILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, nInvoiceDay); } objInv.CBILLD = new DateTime(objInv.BILLD.Year, objInv.BILLD.Month, objInv.BILLD.Day); switch (objContract.ContractPaymentData.PaymentPeriod.strValue1) { case PaymentPeriodType.Quarterly: objInv.NBILLD = objInv.CBILLD.AddMonths(3); break; case PaymentPeriodType.HalfYear: objInv.NBILLD = objInv.CBILLD.AddMonths(6); break; case PaymentPeriodType.Yearly: objInv.NBILLD = objInv.CBILLD.AddMonths(12); break; default: objInv.NBILLD = objInv.CBILLD.AddMonths(1); break; } objInv.DELD = objInv.BILLD; addInvoiceText(hSql, objContract, ref objInv); objContract.listContractOptions = ContractOption.getContractOption(objContract.ContractOID); //objContract.loadDetail(); addInvoiceRows(objContract, ref objInv, bCapital); hSql.Close(); bRet = objInv.saveOrder(bDraft); if ((bRet == true) && (bManual == true)) { if (bDraft == true) { openInvoice(objInv.UnitId, objInv.SSALID, objInv.SRECNO); } else { openInvoicePDF(objInv.UnitId, objInv.SRECNO); } } return(bRet); }
public bool closeCashBox(string strCashBoxId) { _log.Debug("closeCashBox >> " + strCashBoxId); bool bRet = true; clsSqlFactory hSql = new clsSqlFactory(); clsAppConfig objAppConfig = new clsAppConfig(); try { int NUSEID = objAppConfig.getNumberParam("CASHREG", "DEPRECNO", "V1", ""); DataRow cashbox = CashBoxes.Select(("CASHBOXID = '" + strCashBoxId + "'"))[0]; int EOD_NUSEID = Int32.Parse(cashbox["EODNUSEID"].ToString()); hSql.NewCommand("select ISOPEN from " + objUtil.getTable("CASHBOX") + " where CASHBOXID=? and ISOPEN=1"); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); bRet = bRet && hSql.ExecuteReader(); if (hSql.Read()) { hSql.NewCommand("update " + objUtil.getTable("NUSE") + " set RECNO=RECNO+1 where NUSEID=?"); hSql.Com.Parameters.AddWithValue("NUSEID", NUSEID); bRet = bRet && hSql.ExecuteNonQuery(); hSql.NewCommand("select RECNO from " + objUtil.getTable("NUSE") + " where NUSEID=?"); hSql.Com.Parameters.AddWithValue("NUSEID", NUSEID); bRet = bRet && hSql.ExecuteReader(); if (hSql.Read()) { int RECEIPTNO = hSql.Reader.GetInt32(0); //EOD_NUSEID hSql.NewCommand("update " + objUtil.getTable("NUSE") + " set RECNO=RECNO+1 where NUSEID=?"); hSql.Com.Parameters.AddWithValue("NUSEID", EOD_NUSEID); hSql.ExecuteNonQuery(); hSql.NewCommand("select RECNO from " + objUtil.getTable("NUSE") + " where NUSEID=?"); hSql.Com.Parameters.AddWithValue("NUSEID", EOD_NUSEID); bRet = bRet && hSql.ExecuteReader(); if (hSql.Read()) { int EOD_RECEIPTNO = hSql.Reader.GetInt32(0); // hSql.NewCommand("update " + objUtil.getTable("CASHBOX") + " set ISOPEN=0 where CASHBOXID=?"); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); hSql.ExecuteNonQuery(); hSql.NewCommand("insert into " + objUtil.getTable("CASHREG") + "(CASHBOXID,SMANID,EVENT,UPDATED_DATE,UPDATED_BY,RECEIPTNO,EOD_RECEIPTNO) values(?,?,'C',getdate(),?,?,?)"); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); hSql.Com.Parameters.AddWithValue("SMANID", objGlobal.DefaultSManID); hSql.Com.Parameters.AddWithValue("UPDATED_BY", objGlobal.DMSFirstUserName); hSql.Com.Parameters.AddWithValue("RECEIPTNO", RECEIPTNO); hSql.Com.Parameters.AddWithValue("EOD_RECEIPTNO", EOD_RECEIPTNO); hSql.ExecuteNonQuery(); hSql.Com.Parameters.Clear(); hSql.NewCommand("SELECT @@IDENTITY"); bRet = bRet && hSql.ExecuteReader(); hSql.Read(); int nCashRegRowId = hSql.Reader.GetInt32(0); hSql.NewCommand("select top 1 isnull(b.AMOUNT,0),a.UPDATED_DATE, isnull(b.QTY,0) from " + objUtil.getTable("CASHREG") + " a," + " CASHREGROW b where a.ROWID = b.CASHREGROWID and a.CASHBOXID = ? and a.EVENT = 'O' " + " order by a.UPDATED_DATE desc"); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); bRet = bRet && hSql.ExecuteReader(); hSql.Read(); DateTime dtLastOpen = hSql.Reader.GetDateTime(1); decimal nOpeningBalance = hSql.Reader.GetDecimal(0); decimal nOpeningQty = hSql.Reader.GetDecimal(2); hSql.NewCommand("insert into " + objUtil.getTable("CASHREGROW") + "(CASHREGROWID,ROWNO,CASHFORM,CASHTYPE,AMOUNT,QTY,UPDATED_DATE,UPDATED_BY) " + " select ?, row_number() over (partition by getdate() order by getdate()),CASHFORM,CASHTYPE,isnull(TOTAMOUNT,0),isnull(TOTQTY,0),getdate(),? from " + "(select b.CASHFORM,case b.CASHFORM when 'CASH' then '" + ConfigurationSettings.AppSettings["DefaultCashType"] + "' else b.CASHTYPE end as CASHTYPE,sum(b.AMOUNT) as TOTAMOUNT,sum(b.QTY) as TOTQTY from " + objUtil.getTable("CASHTRANSH") + " a, " + objUtil.getTable("CASHTRANSR") + " b" + " where a.CASHBOXID =? and a.RECEIPTNO = b.RECEIPTNO and a.UPDATED_DATE >=? " + " group by b.CASHFORM,case b.CASHFORM when 'CASH' then '" + ConfigurationSettings.AppSettings["DefaultCashType"] + "' else b.CASHTYPE end ) x"); hSql.Com.Parameters.AddWithValue("CASHREGROWID", nCashRegRowId); hSql.Com.Parameters.AddWithValue("UPDATED_BY", objGlobal.DMSFirstUserName); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); hSql.Com.Parameters.AddWithValue("LASTOPEN", dtLastOpen); bRet = bRet && hSql.ExecuteNonQuery(); hSql.NewCommand("select 1 from " + objUtil.getTable("CASHREGROW") + " where CASHREGROWID=? and CASHFORM in ('CASH','CURRENCY')"); hSql.Com.Parameters.AddWithValue("CASHREGROWID", nCashRegRowId); bRet = bRet && hSql.ExecuteReader(); if (hSql.Read()) { hSql.NewCommand("update " + objUtil.getTable("CASHREGROW") + " set AMOUNT=AMOUNT+?, QTY=QTY+? where CASHREGROWID=? and CASHFORM in ('CASH','CURRENCY') "); hSql.Com.Parameters.AddWithValue("OPENBALANCE", nOpeningBalance); hSql.Com.Parameters.AddWithValue("OPENQTY", nOpeningQty); hSql.Com.Parameters.AddWithValue("CASHREGROWID", nCashRegRowId); bRet = bRet && hSql.ExecuteNonQuery(); } else { hSql.NewCommand("insert into " + objUtil.getTable("CASHREGROW") + "(CASHREGROWID,ROWNO,CASHFORM,CASHTYPE,AMOUNT,QTY,UPDATED_DATE,UPDATED_BY) values(" + " ?, (select isnull(max(ROWNO),0)+1 from CASHREGROW where CASHREGROWID=? ),'CASH',?,?,?,getdate(),? )"); hSql.Com.Parameters.AddWithValue("CASHREGROWID", nCashRegRowId); hSql.Com.Parameters.AddWithValue("CASHREGROWID2", nCashRegRowId); hSql.Com.Parameters.AddWithValue("CASHTYPE", ConfigurationSettings.AppSettings["DefaultCashType"]); hSql.Com.Parameters.AddWithValue("AMOUNT", nOpeningBalance); hSql.Com.Parameters.AddWithValue("QTY", nOpeningQty); hSql.Com.Parameters.AddWithValue("UPDATED_BY", objGlobal.DMSFirstUserName); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); bRet = bRet && hSql.ExecuteNonQuery(); } //Update CASHTRANSH.EOD_RECEIPTNO hSql.NewCommand("update " + objUtil.getTable("CASHTRANSH") + " set EOD_RECEIPTNO =? where CASHBOXID =? and EOD_RECEIPTNO is null and UPDATED_DATE >=?"); hSql.Com.Parameters.AddWithValue("EOD_RECEIPTNO", EOD_RECEIPTNO); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); hSql.Com.Parameters.AddWithValue("LASTOPEN", dtLastOpen); bRet = bRet && hSql.ExecuteNonQuery(); // hSql.NewCommand("delete from " + objUtil.getTable("CASHBOXPC") + " where CASHBOXID = ?"); hSql.Com.Parameters.AddWithValue("CASHBOXID", strCashBoxId); bRet = bRet && hSql.ExecuteNonQuery(); } else { bRet = false; throw new Exception("Invalid EODNUSEID (CASHBOXID.V3) ): " + NUSEID); } } else { bRet = false; throw new Exception("Invalid NUSEID (CASHREG.DEPRECNO): " + NUSEID); } } else { bRet = false; } if (bRet) { hSql.Commit(); } else { hSql.Rollback(); } } catch (Exception ex) { _log.Error(ex.ToString()); hSql.Rollback(); bRet = false; throw ex; } finally { hSql.Close(); } _log.Debug("closeCashBox >> " + bRet.ToString()); return(bRet); }