public IActionResult SubmitFee(FeeSubViewModel fsvm)
        {
            var           v  = _context.FeeSubmission.Where(q => q.StudentId == fsvm.studentidVM).LastOrDefault();
            FeeSubmission fs = new FeeSubmission();

            fs.ClassId   = fsvm.classidVM;
            fs.StudentId = fsvm.studentidVM;
            if (fsvm.totalfeeVM == 0)
            {
                ViewBag.msg4 = "You haven't entered any amount!";
                return(View());
            }
            if (v != null)
            {
                var f = Math.Abs(fsvm.ShouldtotalfeeVM - fsvm.totalfeeVM);
                if (f == 0)
                {
                    fs.DueAmount = 0;
                }
                else
                {
                    fs.DueAmount = f;
                }
            }
            else
            {
                var f = Math.Abs(fsvm.ShouldtotalfeeVM - fsvm.totalfeeVM);
                if (f == 0)
                {
                    fs.DueAmount = 0;
                }
                else
                {
                    fs.DueAmount = f;
                }
            }

            fs.TotalFee       = fsvm.totalfeeVM;
            fs.FeeAmount      = fsvm.feeamountVM;
            fs.Date           = fsvm.dateVM;
            fs.ExtraFeeAmount = fsvm.extrafeeamountVM;
            _context.FeeSubmission.Add(fs);
            _context.SaveChanges();

            ModelState.Clear();
            var d  = _context.Class.Where(q => q.ClassId == fs.ClassId).FirstOrDefault();
            var dq = _context.Student.Where(q => q.StudentId == fs.StudentId).FirstOrDefault();
            var de = _context.AccountsManagement.Where(q => q.ClassId == fs.ClassId).FirstOrDefault();
            //var ex = _context.ExtraFee.Where(q => q.ClassId == fs.ClassId).FirstOrDefault();
            var fsn = _context.FeeSubmission.Where(q => q.StudentId == fs.StudentId && q.ClassId == fs.ClassId).LastOrDefault();


            FeeSubViewModel fsvm1 = new FeeSubViewModel();

            fsvm1.studentidVM      = fsn.StudentId;
            fsvm1.classidVM        = fsn.ClassId;
            fsvm1.dt               = fsn.Date.ToLongDateString();
            fsvm1.studentnameVM    = dq.StudentName;
            fsvm1.classnameVM      = d.ClassName;
            fsvm1.feeamountVM      = de.FeeAmount;
            fsvm1.extrafeeamountVM = fsn.ExtraFeeAmount;
            fsvm1.dueamountVM      = fsn.DueAmount;
            fsvm1.totalfeeVM       = fsn.TotalFee;
            fsvm1.amountofmonth    = fsvm.amountofmonth;
            fsvm1.lastmonth        = fsvm.lastmonth;
            fsvm1.currentmonth     = fsvm.currentmonth;

            fsvm1.inwords = NumToText.ToText(Convert.ToInt32(fsvm1.totalfeeVM));

            return(RedirectToAction("InvoiceOption", new RouteValueDictionary(fsvm1)));
        }
Exemplo n.º 2
0
        /*public Stream PaySlipPrinting(DataSet dsPaySlip)
         * {
         *  try
         *  {
         *      decimal decTotalAdd = 0;
         *      decimal decTotalDed = 0;
         *      decimal decNetPay = 0;
         *      //crptPaySlip crptPaySlip = new crptPaySlip();
         *      //ReportDocument crptPaySlip = new ReportDocument();
         *      //crptPaySlip.Load("CrystalReports\\Reports\\crptPaySlip.rpt");
         *      var webRoot = _env.WebRootPath;
         *      string htmlReportTemplate = System.IO.File.ReadAllText(System.IO.Path.Combine(webRoot, "/ReportTemplate/PaySlip.html"));
         *      foreach (DataTable dtbl in dsPaySlip.Tables)
         *      {
         *          if (dtbl.TableName == "Table")
         *          {
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#Logo#!}", Convert.ToString(dtbl.Rows[0]["logo"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#CompanyName#!}", Convert.ToString(dtbl.Rows[0]["companyName"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#mailingname#!}", Convert.ToString(dtbl.Rows[0]["mailingName"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#address#!}", Convert.ToString(dtbl.Rows[0]["address"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#county#!}", Convert.ToString(dtbl.Rows[0]["country"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#state#!}", Convert.ToString(dtbl.Rows[0]["state"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#pin#!}", Convert.ToString(dtbl.Rows[0]["pin"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#Email#!}", Convert.ToString(dtbl.Rows[0]["emailId"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#Phone#!}", Convert.ToString(dtbl.Rows[0]["Phone"]));
         *              //crptPaySlip.Database.Tables["dtblCompanyDetails"].SetDataSource(dtbl);
         *          }
         *          else if (dtbl.TableName == "Table1")
         *          {
         *              //crptPaySlip.Database.Tables["dtblEmployeeDetails"].SetDataSource(dtbl);
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#emCode#!}", Convert.ToString(dtbl.Rows[0]["employeeCode"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#salMonth#!}", Convert.ToString(dtbl.Rows[0]["Month"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#empName#!}", Convert.ToString(dtbl.Rows[0]["employeeName"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#salDate#!}", Convert.ToString(dtbl.Rows[0]["Date"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#designation#!}", Convert.ToString(dtbl.Rows[0]["designationName"]));
         *
         *
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#basic#!}", Convert.ToString(dtbl.Rows[0]["Salary"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#dedAmount#!}", Convert.ToString(dtbl.Rows[0]["DEDamount"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#bonusAmount#!}", Convert.ToString(dtbl.Rows[0]["Bonus"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#dedAmount#!}", Convert.ToString(dtbl.Rows[0]["DEDamount"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#dAmount#!}", Convert.ToString(dtbl.Rows[0]["ADDamount"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#advance#!}", Convert.ToString(dtbl.Rows[0]["Advance"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#lop#!}", Convert.ToString(dtbl.Rows[0]["LOP"]));
         *
         *
         *
         *
         *
         *              foreach (DataRow drow in dtbl.Rows)
         *              {
         *                  if (drow["ADDamount"].ToString() != string.Empty)
         *                  {
         *                      decTotalAdd += Convert.ToDecimal(drow["ADDamount"].ToString());
         *                  }
         *                  if (drow["DEDamount"].ToString() != string.Empty)
         *                  {
         *                      decTotalDed += Convert.ToDecimal(drow["DEDamount"].ToString());
         *                  }
         *              }
         *
         *              foreach (DataRow drow in dtbl.Rows)
         *              {
         *                  if (drow["LOP"].ToString() != string.Empty)
         *                  {
         *                      decTotalDed += Convert.ToDecimal(drow["LOP"].ToString());
         *                  }
         *
         *                  if (drow["Deduction"].ToString() != string.Empty)
         *                  {
         *                      decTotalDed += Convert.ToDecimal(drow["Deduction"].ToString());
         *                  }
         *
         *                  if (drow["Advance"].ToString() != string.Empty)
         *                  {
         *                      decTotalDed += Convert.ToDecimal(drow["Advance"].ToString());
         *                  }
         *
         *                  if (drow["Bonus"].ToString() != string.Empty)
         *                  {
         *                      decTotalAdd += Convert.ToDecimal(drow["Bonus"].ToString());
         *                  }
         *
         *                  break;
         *
         *              }
         *
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#totalEarning#!}", Convert.ToString(decTotalAdd));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#totalDeductions#!}", Convert.ToString(decTotalDed));
         *
         *          }
         *          else if (dtbl.TableName == "Table2")
         *          {
         *              DataColumn dtClmn = new DataColumn("AmountInWords");
         *              dtbl.Columns.Add(dtClmn);
         *              decNetPay = decTotalAdd - decTotalDed;
         *
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#workingDays#!}", Convert.ToString(dtbl.Rows[0]["WorkingDay"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#presentDays#!}", Convert.ToString(dtbl.Rows[0]["PresentDays"]));
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#leaveDays#!}", Convert.ToString(dtbl.Rows[0]["LeaveDays"]));
         *
         *
         *              foreach (DataRow drow in dtbl.Rows)
         *              {
         *                  drow["AmountInWords"] = new NumToText().AmountWords(decNetPay, PublicVariables._decCurrencyId);
         *              }
         *              htmlReportTemplate = htmlReportTemplate.Replace("{!#netPay#!}", Convert.ToString(dtbl.Rows[0]["AmountInWords"]));
         *              //crptPaySlip.Database.Tables["dtblOther"].SetDataSource(dtbl);
         *          }
         *      }
         *
         *      //this.crptViewer.ReportSource = crptPaySlip;
         *      SettingsSP spSettings = new SettingsSP();
         *
         *      if (spSettings.SettingsStatusCheck("DirectPrint") == "No")
         *      {
         *          //base.Show();
         *          //this.BringToFront();
         *      }
         *      else
         *      {
         *          //Stream stream = crptPaySlip.ExportToStream(ExportFormatType.PortableDocFormat);
         *          //------------in ordet to print , this below code has to be work!!!
         *          //crptPaySlip.PrintToPrinter(1, true, 0, 0);
         *          //return stream;
         *      }
         *  }
         *  catch (Exception ex)
         *  {
         *      //MessageBox.Show("CRV2 " + ex.Message, "Masterfine", MessageBoxButtons.OK, MessageBoxIcon.Information);
         *  }
         *
         *  return null;
         * }*/

        public string ReplaceReportData(DataSet dsPaySlip)
        {
            string htmlReportTemplate = string.Empty;

            try
            {
                decimal decTotalAdd = 0;
                decimal decTotalDed = 0;
                decimal decNetPay   = 0;
                //crptPaySlip crptPaySlip = new crptPaySlip();
                //ReportDocument crptPaySlip = new ReportDocument();
                //crptPaySlip.Load("CrystalReports\\Reports\\crptPaySlip.rpt");
                var webRoot = _env.WebRootPath;
                htmlReportTemplate = System.IO.File.ReadAllText(System.IO.Path.Combine(webRoot, "ReportTemplate/PaySlip.html"));
                htmlReportTemplate = htmlReportTemplate.Replace("{!#currentDate#!}", string.Format("{0:MM/dd/yyyy}", DateTime.Now));
                foreach (DataTable dtbl in dsPaySlip.Tables)
                {
                    if (dtbl.TableName == "Table")
                    {
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#Logo#!}", Convert.ToString(dtbl.Rows[0]["logo"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#CompanyName#!}", Convert.ToString(dtbl.Rows[0]["companyName"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#mailingname#!}", Convert.ToString(dtbl.Rows[0]["mailingName"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#address#!}", Convert.ToString(dtbl.Rows[0]["address"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#county#!}", Convert.ToString(dtbl.Rows[0]["country"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#state#!}", Convert.ToString(dtbl.Rows[0]["state"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#pin#!}", Convert.ToString(dtbl.Rows[0]["pin"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#Email#!}", Convert.ToString(dtbl.Rows[0]["emailId"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#Phone#!}", Convert.ToString(dtbl.Rows[0]["Phone"]));
                        //crptPaySlip.Database.Tables["dtblCompanyDetails"].SetDataSource(dtbl);
                    }
                    else if (dtbl.TableName == "Table1")
                    {
                        //crptPaySlip.Database.Tables["dtblEmployeeDetails"].SetDataSource(dtbl);
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#emCode#!}", Convert.ToString(dtbl.Rows[0]["employeeCode"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#salMonth#!}", Convert.ToString(dtbl.Rows[0]["Month"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#empName#!}", Convert.ToString(dtbl.Rows[0]["employeeName"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#salDate#!}", Convert.ToString(dtbl.Rows[0]["Date"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#designation#!}", Convert.ToString(dtbl.Rows[0]["designationName"]));

                        // htmlReportTemplate = htmlReportTemplate.Replace("{!#AddpayheadName#!}", Convert.ToString(dtbl.Rows[0]["AddpayheadName"]));
                        // htmlReportTemplate = htmlReportTemplate.Replace("{!#ADDamount#!}", Convert.ToString(dtbl.Rows[0]["ADDamount"]));
                        // htmlReportTemplate = htmlReportTemplate.Replace("{!#dedAmount#!}", Convert.ToString(dtbl.Rows[0]["Deduction"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#bonusAmount#!}", Convert.ToString(dtbl.Rows[0]["Bonus"]));
                        //htmlReportTemplate = htmlReportTemplate.Replace("{!#dedAmount#!}", Convert.ToString(dtbl.Rows[0]["Deduction"]));


                        // htmlReportTemplate = htmlReportTemplate.Replace("{!#dAmount#!}", Convert.ToString(dtbl.Rows[0]["ADDamount"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#advance#!}", Convert.ToString(dtbl.Rows[0]["Advance"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#lop#!}", Convert.ToString(dtbl.Rows[0]["LOP"]));
                        //htmlReportTemplate = htmlReportTemplate.Replace("{!#DEDpayheadName#!}", Convert.ToString(dtbl.Rows[0]["DEDpayheadName"]));


                        string detailQuery = "";

                        decimal deductAmount = 0;
                        string[,] array2Db = new string[50, 4];
                        int cntAdd = 0, cntDed = 0;
                        foreach (DataRow drow in dtbl.Rows)
                        {
                            if (drow["ADDamount"].ToString() != string.Empty)
                            {
                                decTotalAdd += Convert.ToDecimal(drow["ADDamount"].ToString());
                            }
                            if (drow["DEDamount"].ToString() != string.Empty)
                            {
                                decTotalDed  += Convert.ToDecimal(drow["DEDamount"].ToString());
                                deductAmount += Convert.ToDecimal(drow["DEDamount"].ToString());
                            }
                            if (drow["AddpayheadName"].ToString() != string.Empty)
                            {
                                array2Db[cntAdd, 0] = drow["AddpayheadName"].ToString();
                                array2Db[cntAdd, 1] = drow["ADDamount"].ToString();
                                cntAdd++;
                            }
                            if (drow["DEDpayheadName"].ToString() != string.Empty)
                            {
                                array2Db[cntDed, 2] = drow["DEDpayheadName"].ToString();
                                array2Db[cntDed, 3] = drow["DEDamount"].ToString();
                                cntDed++;
                            }
                        }

                        for (int i = 0; i < Math.Max(cntAdd, cntDed); i++)
                        {
                            detailQuery += "<tr class='item'><td>" + array2Db[i, 0] + "</td><td style='text-align:right;'>" + array2Db[i, 1] + "</td>";
                            detailQuery += "<td>" + array2Db[i, 2] + "</td><td style='text-align:right;'>" + array2Db[i, 3] + "</td></tr>";
                        }
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#deductionAmount#!}", Convert.ToString(deductAmount));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#tabledetail#!}", detailQuery);

                        foreach (DataRow drow in dtbl.Rows)
                        {
                            if (drow["LOP"].ToString() != string.Empty)
                            {
                                decTotalDed += Convert.ToDecimal(drow["LOP"].ToString());
                            }

                            if (drow["Deduction"].ToString() != string.Empty)
                            {
                                decTotalDed += Convert.ToDecimal(drow["Deduction"].ToString());
                            }

                            if (drow["Advance"].ToString() != string.Empty)
                            {
                                decTotalDed += Convert.ToDecimal(drow["Advance"].ToString());
                            }

                            if (drow["Bonus"].ToString() != string.Empty)
                            {
                                decTotalAdd += Convert.ToDecimal(drow["Bonus"].ToString());
                            }

                            /*if (drow["Salary"].ToString() != string.Empty)
                             * {
                             *  decTotalAdd += Convert.ToDecimal(drow["Salary"].ToString());
                             * }*/

                            break;
                        }

                        htmlReportTemplate = htmlReportTemplate.Replace("{!#totalEarning#!}", Convert.ToString(decTotalAdd));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#totalDeductions#!}", Convert.ToString(decTotalDed));
                    }
                    else if (dtbl.TableName == "Table2")
                    {
                        DataColumn dtClmn = new DataColumn("AmountInWords");
                        dtbl.Columns.Add(dtClmn);
                        decNetPay = decTotalAdd - decTotalDed;

                        htmlReportTemplate = htmlReportTemplate.Replace("{!#workingDays#!}", Convert.ToString(dtbl.Rows[0]["WorkingDay"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#presentDays#!}", Convert.ToString(dtbl.Rows[0]["PresentDays"]));
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#leaveDays#!}", Convert.ToString(dtbl.Rows[0]["LeaveDays"]));


                        foreach (DataRow drow in dtbl.Rows)
                        {
                            drow["AmountInWords"] = new NumToText().AmountWords(decNetPay, PublicVariables._decCurrencyId);
                        }
                        htmlReportTemplate = htmlReportTemplate.Replace("{!#netPay#!}", Convert.ToString(dtbl.Rows[0]["AmountInWords"]));
                        //crptPaySlip.Database.Tables["dtblOther"].SetDataSource(dtbl);
                    }
                }

                //this.crptViewer.ReportSource = crptPaySlip;
                SettingsSP spSettings = new SettingsSP();

                if (spSettings.SettingsStatusCheck("DirectPrint") == "No")
                {
                    //base.Show();
                    //this.BringToFront();
                }
                else
                {
                    //Stream stream = crptPaySlip.ExportToStream(ExportFormatType.PortableDocFormat);
                    //------------in ordet to print , this below code has to be work!!!
                    //crptPaySlip.PrintToPrinter(1, true, 0, 0);
                    //return stream;
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show("CRV2 " + ex.Message, "Masterfine", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            return(htmlReportTemplate);
        }