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))); }
/*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); }