Пример #1
0
        /// <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;
            }
        }
Пример #2
0
 /// <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("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
 }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        /// <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);
            }
        }
Пример #6
0
 /// <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("----|--------------------------------|-----------------------------------------|");
 }