/// <summary> /// /// </summary> /// <param name="stockIssuesEntity"></param> public void GenerateStackCard(List <StackCardEntity> stackCardEntities, StackEntity stackEntity) { // AuditLog.WriteError("GeneratestockIssuesEntityRegister"); string fPath = string.Empty, subF_Path = string.Empty, fileName = string.Empty, filePath = string.Empty; StreamWriter streamWriter = null; try { fileName = stackEntity.GCode + GlobalVariable.StackCardFileName; fPath = GlobalVariable.ReportPath + "Reports"; report.CreateFolderIfnotExists(fPath); // create a new folder if not exists subF_Path = fPath + "//" + stackEntity.UserName; //ManageReport.GetDateForFolder(); report.CreateFolderIfnotExists(subF_Path); //delete file if exists filePath = subF_Path + "//" + fileName + ".txt"; report.DeleteFileIfExists(filePath); streamWriter = new StreamWriter(filePath, true); AddDocHeaderForIssues(streamWriter, stackCardEntities, stackEntity); AddDetails(streamWriter, stackCardEntities); } catch (Exception ex) { AuditLog.WriteError(ex.Message + " " + ex.StackTrace); } finally { streamWriter.Flush(); streamWriter.Close(); fPath = string.Empty; fileName = string.Empty; streamWriter = null; } }
/// <summary> /// Add header for document receipt /// </summary> /// <param name="streamWriter">Stream writer to write the text file.</param> /// <param name="stockIssuesEntity"></param> /// <param name="isDuplicate"></param> public void AddDocHeaderForIssues(StreamWriter streamWriter, StackEntity stackEntity) { streamWriter.WriteLine(" "); streamWriter.WriteLine(" TAMILNADU CIVIL SUPPLIES CORPORATION "); streamWriter.Write(" "); streamWriter.Write(report.StringFormatWithoutPipe("REGION : ", 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(stackEntity.RName, 45, 2)); streamWriter.WriteLine(""); streamWriter.Write(" Godown :"); streamWriter.Write(report.StringFormatWithoutPipe(stackEntity.GName, 25, 2)); streamWriter.WriteLine(""); streamWriter.WriteLine(" Formation Year: " + stackEntity.StackDate); streamWriter.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); streamWriter.WriteLine(" OPENING BALANCE RECEIPT RECEIPT ISSUE ISSUE BALANCE BALANCE STACK"); streamWriter.WriteLine(" SNO COMMODITY STACKNO FROM DATE TO DATE BAGS QTY BAGS GU QTY BAGS GR QTY BAGS QTY STATUS W/OFF QTY"); streamWriter.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); }
public List <StackCardEntity> ManageStackBalance(DataSet dataSet, StackEntity stackEntity) { try { List <StackCardEntity> stackCardEntities = new List <StackCardEntity>(); DataTable dtIssues = new DataTable(); DataTable dtReceipt = new DataTable(); DateTime fDate = default(DateTime); DateTime SDate = default(DateTime); if (dataSet.Tables.Count > 1) { dtReceipt = dataSet.Tables[1]; int rCount = dtReceipt.Rows.Count; int ifirst = 0; decimal dClosingBalance = 0; int iReceiptBags = 0; decimal dReceiptQuantity = 0; int iIssuesBags = 0; decimal dIssuesQuantity = 0; if (rCount == 1) { SDate = Convert.ToDateTime(dtReceipt.Rows[0][0]); } else if (rCount >= 2) { fDate = Convert.ToDateTime(dtReceipt.Rows[0][0]); SDate = Convert.ToDateTime(dtReceipt.Rows[1][0]); } int irow = 1; foreach (DataRow dr in dtReceipt.Rows) { ifirst = 0; StackCardEntity stackCard = new StackCardEntity(); stackCard.SDate = Convert.ToDateTime(dr["Dates"]); stackCard.AckDate = Convert.ToString(dr["Dates"]); stackCard.StackNo = Convert.ToString(dr["StockNo"]); stackCard.ReceiptBags = Convert.ToString(dr["NoPacking"]); stackCard.ReceiptQuantity = Convert.ToString(dr["TOTAL"]); dClosingBalance = dClosingBalance + Convert.ToDecimal(Convert.ToString(dr["TOTAL"])); iReceiptBags = iReceiptBags + Convert.ToInt32(dr["NoPacking"]); dReceiptQuantity = dReceiptQuantity + Convert.ToDecimal(Convert.ToString(dr["TOTAL"])); DataRow[] dataRows = null; fDate = Convert.ToDateTime(dr["Dates"]); // filter the datewise data to get the issues. if (rCount == irow) { SDate = Convert.ToDateTime(dr["Dates"]); dataRows = dataSet.Tables[0].Select("Dates >= '" + fDate + "'"); } else if (rCount > irow) { SDate = Convert.ToDateTime(dtReceipt.Rows[irow][0]); dataRows = dataSet.Tables[0].Select("Dates >= '" + fDate + "' and dates < '" + SDate + "'"); } stackCard.ClosingBalance = Convert.ToString(dClosingBalance); stackCardEntities.Add(stackCard); //check the Issues details. foreach (DataRow ndr in dataRows) { dClosingBalance = dClosingBalance - Convert.ToDecimal(ndr["TOTAL"]); iIssuesBags = iIssuesBags + Convert.ToInt32(ndr["NoPacking"]); dIssuesQuantity = dIssuesQuantity + Convert.ToDecimal(ndr["TOTAL"]); //Check Date Match StackCardEntity nstackCard = new StackCardEntity(); nstackCard.SDate = Convert.ToDateTime(ndr["Dates"]); nstackCard.AckDate = Convert.ToString(ndr["Dates"]); nstackCard.StackNo = Convert.ToString(ndr["StockNo"]); nstackCard.IssuesBags = Convert.ToString(ndr["NoPacking"]); nstackCard.IssuesQuantity = Convert.ToString(ndr["TOTAL"]); nstackCard.ClosingBalance = Convert.ToString(dClosingBalance); stackCardEntities.Add(nstackCard); //if (ifirst == 0) //{ // stackCard.IssuesBags = Convert.ToString(ndr["NoPacking"]); // stackCard.IssuesQuantity = Convert.ToString(ndr["TOTAL"]); // stackCard.ClosingBalance = Convert.ToString(dClosingBalance); // stackCardEntities.Add(stackCard); //} //else //{ //} // ifirst = 1; } irow++; //if (ifirst == 0) //{ //} } //Add Total values StackCardEntity TstackCard = new StackCardEntity(); TstackCard.AckDate = "Total"; TstackCard.ReceiptBags = Convert.ToString(iReceiptBags); TstackCard.ReceiptQuantity = Convert.ToString(dReceiptQuantity); TstackCard.IssuesBags = Convert.ToString(iIssuesBags); TstackCard.IssuesQuantity = Convert.ToString(dIssuesQuantity); TstackCard.ClosingBalance = Convert.ToString(dClosingBalance); stackCardEntities.Add(TstackCard); // Generate Report ManageStackCardPrint manageStackCard = new ManageStackCardPrint(); // manageStackCard.GenerateStackCard(stackCardEntities, stackEntity); Task.Run(() => manageStackCard.GenerateStackCard(stackCardEntities, stackEntity)); } return(stackCardEntities); } catch (Exception ex) { AuditLog.WriteError("ManageStackBalance : " + ex.Message); return(null); } }
public List <StackCardRegisterEntity> ManageStackCardRegister(DataSet dataSet, StackEntity stackEntity) { try { ManageReport report = new ManageReport(); List <StackCardRegisterEntity> stackCardEntities = new List <StackCardRegisterEntity>(); DataTable dtIssues = new DataTable(); DataTable dtReceipt = new DataTable(); DataTable dtObStack = new DataTable(); DataTable dtWriteOFF = new DataTable(); //DateTime fDate = default(DateTime); //DateTime SDate = default(DateTime); ManageSQLConnection manageSQLConnection = new ManageSQLConnection(); if (dataSet.Tables.Count > 1) { dtIssues = dataSet.Tables[0]; dtReceipt = dataSet.Tables[1]; dtObStack = dataSet.Tables[2]; dtWriteOFF = dataSet.Tables[3]; string sStackCard = string.Empty; string sCommodity = string.Empty; foreach (DataRow item in dtObStack.Rows) { StackCardRegisterEntity stackCardRegister = new StackCardRegisterEntity(); sStackCard = Convert.ToString(item["StockNo"]); sCommodity = Convert.ToString(item["Commodity"]); //Filter particular stack card only DataRow[] dataRowsIssues = dtIssues.Select("StockNo = '" + sStackCard + "' and Commodity='" + sCommodity + "'"); DataRow[] dataRowsReceipt = dtReceipt.Select("StockNo = '" + sStackCard + "' and Commodity='" + sCommodity + "'"); DataRow[] dataRowsWriteOff = dtWriteOFF.Select("StockNo = '" + sStackCard + "' and Commodity='" + sCommodity + "'"); List <KeyValuePair <string, string> > sqlParameters = new List <KeyValuePair <string, string> >(); sqlParameters.Add(new KeyValuePair <string, string>("@GodownCode", stackEntity.GCode)); sqlParameters.Add(new KeyValuePair <string, string>("@StacKNo", sStackCard)); sqlParameters.Add(new KeyValuePair <string, string>("@ShortYear", stackEntity.StackDate)); DataSet dsGUGR = manageSQLConnection.GetDataSetValues("GetGUGRbyStackNo", sqlParameters); stackCardRegister.StackCard = sStackCard; stackCardRegister.Commodity = sCommodity; stackCardRegister.OpeningBag = Convert.ToString(item["NoPacking"]); stackCardRegister.OpeningQty = Convert.ToString(item["TOTAL"]); if (dsGUGR.Tables.Count > 1) { if (dsGUGR.Tables[0].Rows.Count > 0) //GU { stackCardRegister.GU = Convert.ToString(dsGUGR.Tables[0].Rows[0]["NoPacking"]); } else { stackCardRegister.GU = "0"; } if (dsGUGR.Tables[1].Rows.Count > 0) //GR { stackCardRegister.GR = Convert.ToString(dsGUGR.Tables[1].Rows[0]["NoPacking"]); } else { stackCardRegister.GR = "0"; } if (dsGUGR.Tables[2].Rows.Count > 0) //StackDate and Status { stackCardRegister.FromDate = report.FormatDirectDate(Convert.ToString(dsGUGR.Tables[2].Rows[0]["ObStackDate"])); stackCardRegister.ToDate = report.FormatDirectDate(Convert.ToString(dsGUGR.Tables[2].Rows[0]["ClsStackDate"])); stackCardRegister.StackStatus = Convert.ToString(dsGUGR.Tables[2].Rows[0]["Status"]); } } if (dataRowsReceipt != null && dataRowsReceipt.Count() > 0) { stackCardRegister.ReceiptBag = Convert.ToString(dataRowsReceipt[0]["NoPacking"]); stackCardRegister.ReceiptQty = Convert.ToString(dataRowsReceipt[0]["TOTAL"]); } else { stackCardRegister.ReceiptBag = "0"; stackCardRegister.ReceiptQty = "0"; } if (dataRowsIssues != null && dataRowsIssues.Count() > 0) { stackCardRegister.IssuesBag = Convert.ToString(dataRowsIssues[0]["NoPacking"]); stackCardRegister.IssuesQty = Convert.ToString(dataRowsIssues[0]["TOTAL"]); } else { stackCardRegister.IssuesBag = "0"; stackCardRegister.IssuesQty = "0"; } if (dataRowsWriteOff != null && dataRowsWriteOff.Count() > 0) { stackCardRegister.WriteOff = Convert.ToString(dataRowsWriteOff[0]["TOTAL"]); } else { stackCardRegister.WriteOff = "0"; } //Balance int totalReceiptBag = Convert.ToInt32(stackCardRegister.OpeningBag) + Convert.ToInt32(stackCardRegister.ReceiptBag) + Convert.ToInt32(stackCardRegister.GU); int totalIssuesBag = Convert.ToInt32(stackCardRegister.IssuesBag) + Convert.ToInt32(stackCardRegister.GR); decimal totalReceiptQty = Convert.ToDecimal(stackCardRegister.OpeningQty) + Convert.ToDecimal(stackCardRegister.ReceiptQty); decimal totalIssuesQty = Convert.ToDecimal(stackCardRegister.IssuesQty); stackCardRegister.BalanceBag = Convert.ToString(totalReceiptBag - totalIssuesBag); stackCardRegister.BalanceQty = Convert.ToString(totalReceiptQty - totalIssuesQty); stackCardEntities.Add(stackCardRegister); } } // AuditLog.WriteError("Print start"); StackCardRegisterPrint stackCardRegisterPrint = new StackCardRegisterPrint(); Task.Run(() => stackCardRegisterPrint.GenerateStackCardRegister(stackCardEntities, stackEntity)); //AuditLog.WriteError("Print End"); return(stackCardEntities); } catch (Exception ex) { AuditLog.WriteError("ManageStackBalance : " + ex.Message + " " + ex.StackTrace); return(null); } }
/// <summary> /// Add receipt item details /// </summary> /// <param name="streamWriter"></param> /// <param name="stockIssuesEntity"></param> private void AddDetails(StreamWriter streamWriter, List <StackCardRegisterEntity> stackCardRegisters, StackEntity stackEntity) { try { int count = 13; int i = 1; string Fromdate = string.Empty; string Todate = string.Empty; int OpeningBag = 0; int ReceiptBag = 0; int IssuesBag = 0; int BalanceBag = 0; int GU = 0; int GR = 0; decimal OpeningQty = 0; decimal ReceiptQty = 0; decimal IssuesQty = 0; decimal BalanceQty = 0; decimal WriteOffQty = 0; foreach (var item in stackCardRegisters) { if (count > 50) { streamWriter.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); count = 13; streamWriter.WriteLine((char)12); AddDocHeaderForIssues(streamWriter, stackEntity); } count++; streamWriter.Write(report.StringFormatWithoutPipe(i.ToString(), 4, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.Commodity, 25, 2)); streamWriter.Write(report.StringFormatWithoutPipe(item.StackCard, 13, 2)); streamWriter.Write(report.StringFormatWithoutPipe(item.FromDate, 10, 2)); streamWriter.Write(report.StringFormatWithoutPipe(item.ToDate, 10, 2)); streamWriter.Write(report.StringFormatWithoutPipe(item.OpeningBag, 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(report.DecimalformatForWeight(item.OpeningQty), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.ReceiptBag, 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.GU, 8, 1)); streamWriter.Write(report.StringFormatWithoutPipe(report.DecimalformatForWeight(item.ReceiptQty), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.IssuesBag, 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.GR, 8, 1)); streamWriter.Write(report.StringFormatWithoutPipe(report.DecimalformatForWeight(item.IssuesQty), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.BalanceBag, 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(report.DecimalformatForWeight(item.BalanceQty), 15, 1)); streamWriter.Write(report.StringFormatWithoutPipe(item.StackStatus, 5, 1)); streamWriter.Write(report.StringFormatWithoutPipe(report.DecimalformatForWeight(item.WriteOff), 9, 1)); streamWriter.WriteLine(" "); streamWriter.WriteLine(" "); OpeningBag += Convert.ToInt32(item.OpeningBag); ReceiptBag += Convert.ToInt32(item.ReceiptBag); IssuesBag += Convert.ToInt32(item.IssuesBag); BalanceBag += Convert.ToInt32(item.BalanceBag); GU += Convert.ToInt32(item.GU); GR += Convert.ToInt32(item.GR); OpeningQty += Convert.ToDecimal(item.OpeningQty); ReceiptQty += Convert.ToDecimal(item.ReceiptQty); IssuesQty += Convert.ToDecimal(item.IssuesQty); BalanceQty += Convert.ToDecimal(item.BalanceQty); WriteOffQty += Convert.ToDecimal(item.WriteOff); i = i + 1; } streamWriter.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); streamWriter.Write(report.StringFormatWithoutPipe(" ", 4, 1)); streamWriter.Write(report.StringFormatWithoutPipe("-", 13, 1)); streamWriter.Write(report.StringFormatWithoutPipe("-", 10, 1)); streamWriter.Write(report.StringFormatWithoutPipe("-", 10, 1)); streamWriter.Write(report.StringFormatWithoutPipe(OpeningBag.ToString(), 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(OpeningQty.ToString(), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(ReceiptBag.ToString(), 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(GU.ToString(), 8, 1)); streamWriter.Write(report.StringFormatWithoutPipe(ReceiptQty.ToString(), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(IssuesBag.ToString(), 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(GR.ToString(), 8, 1)); streamWriter.Write(report.StringFormatWithoutPipe(IssuesQty.ToString(), 11, 1)); streamWriter.Write(report.StringFormatWithoutPipe(BalanceBag.ToString(), 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(BalanceQty.ToString(), 15, 1)); streamWriter.Write(report.StringFormatWithoutPipe("-", 5, 1)); streamWriter.Write(report.StringFormatWithoutPipe(WriteOffQty.ToString(), 9, 1)); streamWriter.WriteLine(" "); streamWriter.WriteLine("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"); streamWriter.WriteLine((char)12); } catch (Exception ex) { AuditLog.WriteError(ex.Message + " " + ex.StackTrace); } }
/// <summary> /// Add header for document receipt /// </summary> /// <param name="streamWriter">Stream writer to write the text file.</param> /// <param name="stockIssuesEntity"></param> /// <param name="isDuplicate"></param> public void AddDocHeaderForIssues(StreamWriter streamWriter, List <StackCardEntity> stackCardEntities, StackEntity stackEntity) { streamWriter.WriteLine(" "); streamWriter.WriteLine(" TAMILNADU CIVIL SUPPLIES CORPORATION "); streamWriter.Write(" "); streamWriter.Write(report.StringFormatWithoutPipe("REGION : ", 9, 1)); streamWriter.Write(report.StringFormatWithoutPipe(stackEntity.RName, 45, 2)); streamWriter.WriteLine(""); streamWriter.Write(" Commodity: "); streamWriter.Write(report.StringFormatWithoutPipe(stackEntity.ITName, 25, 2)); streamWriter.Write(" Godown :"); streamWriter.Write(report.StringFormatWithoutPipe(stackEntity.GName, 25, 2)); streamWriter.WriteLine(""); streamWriter.WriteLine(" Stack.No: " + stackEntity.TStockNo); streamWriter.WriteLine("----|--------------------------------|-----------------------------------------|"); streamWriter.WriteLine(" | RECEIPT | ISSUES |"); streamWriter.WriteLine("----|--------------------------------|-----------------------------------------|"); streamWriter.WriteLine("Slno| DATE Bags. Quantity | Bags. Quantity Clo.Bal. |"); streamWriter.WriteLine("----|--------------------------------|-----------------------------------------|"); }