private bool UpdateAdjustDetailedEntry(DataTable aTable, int GeneralNumber) { try { AdjustInventoryDetailed aAdjustDetailed = new AdjustInventoryDetailed(); foreach (DataRow aRow in aItemsTable.Rows) { aAdjustDetailed.Number = GeneralNumber; aAdjustDetailed.ItemID = int.Parse(aRow["ItemID"].ToString()); aAdjustDetailed.OldQty = double.Parse(aRow["NewQty"].ToString());/* bug it should be updated to the next one*/ aAdjustDetailed.NewQty = double.Parse(aRow["PhysicalCountColumn"].ToString()); aAdjustDetailed.DifferenceQty = double.Parse(aRow["DifferencesColumn"].ToString()); aAdjustDetailed.DifferenceValue = double.Parse(aRow["DiffValueColumn"].ToString()); double CurrentQty = double.Parse(ReportsHelper.FindData(AllItemsTable,"ID","Qty",aRow["ItemID"].ToString())); if (AdjustInventoryDetailedMgmt.UpdateDetailedSingleEntry(aAdjustDetailed)) { if (!ItemsMgmt.UpdateItemQtyByID(aAdjustDetailed.ItemID, (CurrentQty - (aAdjustDetailed.OldQty - aAdjustDetailed.NewQty)))) { return false; } continue; } else { return false; } } return true; } catch (Exception ex) { MessageBox.Show("Exception in UpdateAdjustDetailedEntry {EXCEPTION}" + ex.ToString(), "PLEASE CONTACT CALCIUM", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } }
public ActionResult ContactUsExportToCsv() { try { ConvertToCSV objCSV = new ConvertToCSV(); string FilePath = "~/Content/Resources/Reports/csvData.csv"; objCSV.fncDeleteFile(FilePath); ReportsHelper objLedgerHelper = new ReportsHelper(); ContactUsReportModel objLedgerModel = new ContactUsReportModel { PageNumber = 1, PageSize = 100000000 }; List <ContactUsReportModel> listLedgerModel = objLedgerHelper.GetContactUsReport(objLedgerModel); DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Email Address"); dt.Columns.Add("Message"); dt.Columns.Add("Created On"); if (listLedgerModel.Count() != 0) { foreach (var item in listLedgerModel) { DataRow row = dt.NewRow(); row["Name"] = item.FirstName; row["Email Address"] = item.EmailAddress; row["Message"] = item.Message; row["Created On"] = StratasFair.Business.CommonHelper.AppLogic.GetDateFromatForCsv(item.CreatedOn); dt.Rows.Add(row); } } if (dt.Rows.Count > 0) { objCSV.CreateCSVFile(dt, Server.MapPath("~/Content/Resources/Reports/") + "csvData.csv"); objCSV.FncDownLoadFiles("ContactUs_" + DateTime.Now.ToShortDateString() + ".csv", FilePath); } } catch (Exception Ex) { string Err = Ex.Message.ToString(); } return(Redirect(Url.Content("~/securehost/rootlogin/report/contactus"))); }
public ActionResult UpcomingRenewalExportToCsv() { try { ConvertToCSV objCSV = new ConvertToCSV(); string FilePath = "~/Content/Resources/Reports/csvData.csv"; objCSV.fncDeleteFile(FilePath); ReportsHelper objLedgerHelper = new ReportsHelper(); UpcomingRenewalReportModel objLedgerModel = new UpcomingRenewalReportModel { PageNumber = 1, PageSize = 100000000 }; List <UpcomingRenewalReportModel> listLedgerModel = objLedgerHelper.GetUpcomingRenewalReport(objLedgerModel); DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Email address"); dt.Columns.Add("Strata name"); dt.Columns.Add("Contact number"); dt.Columns.Add("Register on"); dt.Columns.Add("Unique name"); dt.Columns.Add("Subscription expiring on"); if (listLedgerModel.Count() != 0) { foreach (var item in listLedgerModel) { DataRow row = dt.NewRow(); row["Name"] = item.FirstName + " " + item.LastName; row["Email address"] = item.EmailId; row["Strata name"] = item.StratasBoardName; row["Contact number"] = item.ContactNumber; row["Register on"] = AppLogic.GetDateFromatForCsv(item.CreatedOn); row["Unique name"] = item.PortalLink; row["Subscription expiring on"] = AppLogic.GetDateFromatForCsv(item.ExpiryDate); dt.Rows.Add(row); } } if (dt.Rows.Count > 0) { objCSV.CreateCSVFile(dt, Server.MapPath("~/Content/Resources/Reports/") + "csvData.csv"); objCSV.FncDownLoadFiles("UpcomingRenewal_" + DateTime.Now.ToShortDateString() + ".csv", FilePath); } } catch (Exception Ex) { string Err = Ex.Message.ToString(); } return(Redirect(Url.Content("~/securehost/rootlogin/report/upcomingrenewal"))); }
private bool print_receipt() { try { List <DataTable> aDataTableList = new List <DataTable>(); DataTable aDataTable1 = new DataTable(); aDataTable1.Columns.Add("[border=true1]" + ReceiptText.RctTxtToPayAmount); aDataTable1.Columns.Add(PaymentAmountTxtBox.Text); aDataTable1.Rows.Add(); aDataTable1.Rows[0][0] = ReceiptText.RctTxtPayMethod; aDataTable1.Rows[0][1] = PaymentMethodCheckBox.Text; aDataTable1.Rows.Add(); double OldCustomerAccountAmountParser = 0; if (double.TryParse(CustomerBalanceTxtBox.Text, out OldCustomerAccountAmountParser)) { aDataTable1.Rows[1][0] = ReceiptText.RctTxtOldBalance; aDataTable1.Rows[1][1] = OldCustomerAccountAmountParser; aDataTable1.Rows.Add(); aDataTable1.Rows[2][0] = ReceiptText.RctTxtNewBalance; aDataTable1.Rows[2][1] = OldCustomerAccountAmountParser - double.Parse(PaymentAmountTxtBox.Text); } aDataTableList.Add(aDataTable1); List <string> aStringList = ReportsHelper.ImportReportHeader(0, 0); List <string> aFooterList = ReportsHelper.ImportReportHeader(1, 0); aStringList.Add(SharedVariables.Line_Solid_10px_Black); aStringList.Add(ReceiptName.RctNmsCustomerPay); aStringList.Add("<h2>" + ReceiptText.RctTxtDate + "/" + ReceiptText.RctTxtTime + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtTeller + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); aStringList.Add(ReceiptText.RctTxtCustomer + ": " + CustomerNameComboBox.Text); aStringList.Add(ReceiptText.RctTxtPaymentNum + ": " + PaymentNumberTxtBox.Text); aStringList.Add(SharedVariables.Line_Solid_10px_Black); // PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, true, true); PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, !PrintingThermalA4ChkBox.Checked, !PrintingThermalA4ChkBox.Checked, PrintingThermalA4ChkBox.Checked, ReportsHelper.TempOutputPath + ".pdf", false, "", false, PrintingThermalA4ChkBox.Checked); if (PrintingThermalA4ChkBox.Checked) { Process.Start(ReportsHelper.TempPDFOutputPath); } return(true); } catch (Exception ex) { MessageBox.Show(MsgTxt.UnexpectedError + "\n Exception: IN[AddCustomerPayment:Print Receipt [EXCEPTION IS]] \n" + ex.Message, MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
public static void btnPrint_OnClickStep(IRNReportDetails form, EventArgs args) { // TODO: Complete business rule implementation IAttachment attachment = null; string pluginid = string.Empty; Sage.Entity.Interfaces.IRNReport parentEntity = form.CurrentEntity as Sage.Entity.Interfaces.IRNReport; if (ReportsHelper.GetPluginId("RNReport:Irnreport", out pluginid)) { WebReportingClass reporting = new WebReportingClass(); Sage.Platform.Data.IDataService datasvc = MySlx.Data.CurrentConnection; Sage.Entity.Interfaces.IUser user = MySlx.Security.CurrentSalesLogixUser; string tempPath = Rules.GetTempAttachmentPath(); string ConnectionString = datasvc.GetConnectionString(); string report = reporting.GenerateReport(ConnectionString, datasvc.Server, DatabaseServer.dsMSSQL, tempPath, false, false, "RNREPORT.RNREPORTID", "", pluginid, "", "", "", "SELECT RNREPORT.RNREPORTID FROM RNREPORT", string.Format("(RNREPORT.RNREPORTID = '{0}')", parentEntity.Id), user.Id.ToString(), user.UserName.ToString()); ReportDocument doc = new ReportDocument(); report = string.Format("{0}run\\{1}", tempPath, report); doc.Load(report); string filename = string.Format("{0}\\{1}_v{2}.pdf", Rules.GetAttachmentPath(), parentEntity.ReferenceNumber.Replace(" ", "_"), 1); doc.ExportToDisk(ExportFormatType.PortableDocFormat, filename); doc.Close(); attachment = Sage.Platform.EntityFactory.Create <IAttachment>(); attachment.Description = string.Format("{0} v{1}", parentEntity.ReferenceNumber, 1); attachment.InsertFileAttachment(filename); attachment.RNREPORTID = Convert.ToString(parentEntity.Id); attachment.Save(); System.IO.File.Delete(report); } }
public async Task EmployeesReportByMonth_Generate_DoesGenerate() { OuterResource newArea = new OuterResource() { Name = "My OuterResource 1", Version = 1 }; OuterResource newArea1 = new OuterResource() { Name = "My OuterResource 2", Version = 1 }; OuterResource newArea2 = new OuterResource() { Name = "My OuterResource 3", Version = 1 }; InnerResource newMachine = new InnerResource() { Name = "My InnerResource 1", Version = 1 }; InnerResource newMachine1 = new InnerResource() { Name = "My InnerResource 2", Version = 1 }; InnerResource newMachine2 = new InnerResource() { Name = "My InnerResource 3", Version = 1 }; await newArea.Create(DbContext); await newArea1.Create(DbContext); await newArea2.Create(DbContext); await newMachine.Create(DbContext); await newMachine1.Create(DbContext); await newMachine2.Create(DbContext); // Different Month ResourceTimeRegistration newTimeRegistrationMonth = new ResourceTimeRegistration() { OuterResourceId = newArea.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 06, 13) }; ResourceTimeRegistration newTimeRegistrationMonth1 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 07, 14) }; ResourceTimeRegistration newTimeRegistrationMonth2 = new ResourceTimeRegistration() { OuterResourceId = newArea2.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 07, 15) }; ResourceTimeRegistration newTimeRegistrationMonth3 = new ResourceTimeRegistration() { OuterResourceId = newArea.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 08, 13) }; ResourceTimeRegistration newTimeRegistrationMonth4 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 08, 14) }; ResourceTimeRegistration newTimeRegistrationMonth5 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 09, 15) }; ResourceTimeRegistration newTimeRegistrationMonth6 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 09, 15) }; await DbContext.ResourceTimeRegistrations.AddRangeAsync(newTimeRegistrationMonth, newTimeRegistrationMonth1, newTimeRegistrationMonth2, newTimeRegistrationMonth3, newTimeRegistrationMonth4, newTimeRegistrationMonth5, newTimeRegistrationMonth6); await DbContext.SaveChangesAsync(); GenerateReportModel model = new GenerateReportModel() { DateFrom = new DateTime(2019, 5, 13), DateTo = new DateTime(2019, 9, 13), Relationship = ReportRelationshipType.Employee, Type = ReportType.Month }; List <SiteDto> sitesList = new List <SiteDto>() { // new SiteDto(1, "Test Site 1", "", "", 1, 1, 1, 1), new SiteDto() { CustomerNo = 1, Email = "bla", FirstName = "Test", LastName = "Site 1", OtpCode = 1, SiteId = 1, SiteName = "Test Site 1", UnitId = 1, WorkerUid = 1 }, // new SiteDto(2, "Test Site 2", "", "", 1, 1, 1, 1) new SiteDto() { CustomerNo = 1, Email = "bla", FirstName = "Test", LastName = "Site 2", OtpCode = 1, SiteId = 2, SiteName = "Test Site 2", UnitId = 1, WorkerUid = 1 } }; DateTime modelDateFrom = new DateTime( model.DateFrom.Year, model.DateFrom.Month, model.DateFrom.Day, 0, 0, 0); DateTime modelDateTo = new DateTime( model.DateTo.Year, model.DateTo.Month, model.DateTo.Day, 23, 59, 59); List <ResourceTimeRegistration> jobsList = await DbContext.ResourceTimeRegistrations .Include(x => x.InnerResource) .Include(x => x.OuterResource) .Where(x => x.DoneAt >= modelDateFrom && x.DoneAt <= modelDateTo) .ToListAsync(); ReportModel reportModel = ReportsHelper.GetReportData(model, jobsList, sitesList, (int)ReportTimeType.Minutes); Assert.AreEqual(reportModel.SubReports.Count, 1); Assert.AreEqual(reportModel.SubReports[0].TotalTime, 3000); Assert.AreEqual(reportModel.SubReports[0].Entities.Count, sitesList.Count); Assert.AreEqual(reportModel.SubReports[0].Entities[0].EntityName, sitesList[0].SiteName); Assert.AreEqual(reportModel.SubReports[0].Entities[1].EntityName, sitesList[1].SiteName); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TotalTime, 1800); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TotalTime, 1200); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[0], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[1], 600); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[2], 1200); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[3], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[4], 0); }
public TestsFixture() { reportsHelper = new ReportsHelper("Workflow"); }
/// <summary> /// Get Filters for reports page /// </summary> /// <param name="filters"></param> /// <param name="userName"></param> /// <returns></returns> public dynamic GetAllReportsFilters(FilterReports filters, string userName) { using (SqlConnection sqlCon = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["CC_ProdConn"].ConnectionString)) { FilterReports f = new FilterReports() { filters = filters.filters, range = filters.range }; #pragma warning disable CS0436 // Type conflicts with imported type SqlCommand sqlComm = ReportsHelper.GetFiltersParameters(f, "[GetAllReportsFilters]", userName); #pragma warning restore CS0436 // Type conflicts with imported type sqlComm.Connection = sqlCon; FiltersFormDataReports pageFiltersData = new FiltersFormDataReports(); sqlCon.Open(); try { SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(sqlComm); DataSet ds = new DataSet(); adapter.Fill(ds); DataTable tblAgentgroup = ds.Tables[0]; DataTable tblAgentCampain = ds.Tables[1]; DataTable tblAgentAPP = ds.Tables[2]; DataTable tblAgentScorecard = ds.Tables[3]; DataTable tblRangeCount = ds.Tables[4]; List <FilterGroupValue> AgentGrouplLst = new List <FilterGroupValue>(); List <FilterCampainValue> AgentCampainLst = new List <FilterCampainValue>(); List <FilterAppValue> AgentAppLst = new List <FilterAppValue>(); //List<FilterAgentValue> AgentAgentsLst = new List<FilterAgentValue>(); List <FilterScorecardValue> AgentScorecardLst = new List <FilterScorecardValue>(); //List<FilterQAValue> AgentQALst = new List<FilterQAValue>(); //List<FilterTeamLeadValue> teamLeads = new List<FilterTeamLeadValue>(); RangeCalls rangeCalls = new RangeCalls(); //Dim AgentMissedItemsLst As List(Of PageFiltersData.FilterValue) = New List(Of PageFiltersData.FilterValue) foreach (DataRow row in tblAgentgroup.Rows) { AgentGrouplLst.Add(new FilterGroupValue() { name = row[0].ToString(), id = row[0].ToString(), count = int.Parse(row[1].ToString()), top3Agents = null }); } pageFiltersData.groups = AgentGrouplLst; foreach (DataRow row in tblAgentCampain.Rows) { AgentCampainLst.Add(new FilterCampainValue() { name = row[0].ToString(), id = row[0].ToString(), count = int.Parse(row[1].ToString()) }); } pageFiltersData.campaigns = AgentCampainLst; foreach (DataRow row in tblAgentAPP.Rows) { AgentAppLst.Add(new FilterAppValue() { name = row[0].ToString(), id = row[0].ToString(), count = int.Parse(row[1].ToString()) }); } pageFiltersData.apps = AgentAppLst; foreach (DataRow row in tblAgentScorecard.Rows) { try { int _failScore = 0; int.TryParse(row[3].ToString(), out _failScore); AgentScorecardLst.Add(new FilterScorecardValue() { id = int.Parse(row[0].ToString()), name = row[2].ToString(), count = int.Parse(row[1].ToString()), failScore = _failScore, }); } catch (Exception ex1) { throw ex1; } } pageFiltersData.scorecards = AgentScorecardLst; if (tblRangeCount.Rows.Count > 0) { rangeCalls.total = int.Parse(tblRangeCount.Rows[0][0].ToString()); rangeCalls.filtered = int.Parse(tblRangeCount.Rows[0][1].ToString()); } pageFiltersData.rangeCalls = rangeCalls; return(pageFiltersData); } catch (Exception ex) { throw ex; } } }
private bool print_receipt() { try { List <DataTable> aDataTableList = new List <DataTable>(); DataTable aDataTable1 = new DataTable(); aDataTable1.Columns.Add("[border=true1]<th width=45%>" + ReceiptText.RctTxtItemName); aDataTable1.Columns.Add(ReceiptText.RctTxtUnitPrice); aDataTable1.Columns.Add(ReceiptText.RctTxtQty); aDataTable1.Columns.Add(ReceiptText.RctTxtTotal); aDataTable1.Columns.Add(ReceiptText.RctTxtDiscount + " %"); bool NoDiscount = true; foreach (DataGridViewRow aRow in TeldgView.Rows) { aDataTable1.Rows.Add(); aDataTable1.Rows[aRow.Index][0] = aRow.Cells["Description"].Value.ToString(); aDataTable1.Rows[aRow.Index][1] = aRow.Cells["PricePerUnit"].Value.ToString(); aDataTable1.Rows[aRow.Index][2] = aRow.Cells["Qty"].Value.ToString(); aDataTable1.Rows[aRow.Index][3] = aRow.Cells["PriceTotal"].Value.ToString(); aDataTable1.Rows[aRow.Index][4] = aRow.Cells["DiscountPerc"].Value.ToString(); if (double.Parse(aRow.Cells["DiscountPerc"].Value.ToString()) > 0) { NoDiscount = false; } } if (NoDiscount) { aDataTable1.Columns.Remove(aDataTable1.Columns[4]); } int RowCnt = 0; DataTable aDataTable3 = new DataTable(); aDataTable3.Columns.Add("[border=true1]<th>" + ReceiptText.RctTxtSubTotal); aDataTable3.Columns.Add(SubtotalTxtBox.Text + "JOD"); RowCnt = 0; aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtTax; aDataTable3.Rows[RowCnt++][1] = TotalTaxTxtBox.Text + "<b> JOD"; if (double.Parse(DiscountTxtBox.Text) != 0) { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtVoucherDiscount; aDataTable3.Rows[RowCnt++][1] = "@" + DiscountPercTxtBox.Text + "% =" + DiscountTxtBox.Text + "<b> JOD"; } if (double.Parse(ItemsDiscountTxtBox.Text) != 0) { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtItemsDiscount; aDataTable3.Rows[RowCnt++][1] = ItemsDiscountTxtBox.Text + "<b> JOD"; } if (double.Parse(TotalDiscountTxtBox.Text) != 0) { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtTotalDiscount; aDataTable3.Rows[RowCnt++][1] = TotalDiscountTxtBox.Text + "<b> JOD"; } if (double.Parse(FeesTxtBox.Text) != 0) { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtFees; aDataTable3.Rows[RowCnt++][1] = FeesTxtBox.Text + "<b> JOD"; } aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = "<td style=\"background-color:#000;color:#fff;border-right-color:#fff;\"><b><font size=4>" + ReceiptText.RctTxtToPayAmount + "</font>"; aDataTable3.Rows[RowCnt++][1] = "<td style=\"background-color:#000;color:#fff;border-left-color:#fff\"><b><font size=5>" + TotalTxtBox.Text + " JOD </font>"; aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtPayMethod; aDataTable3.Rows[RowCnt++][1] = PaymentMethodCheckBox.Text; if (PaymentMethodCheckBox.Text.ToUpper() == "CASH") { if (CashMethodComboBox.Text == "Cash") { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtCashIn; aDataTable3.Rows[RowCnt++][1] = CashInTxtBox.Text + "<b> " + " JOD"; double tempamt = 0; if (double.TryParse(ExchangeTxtBox.Text, out tempamt)) { if (tempamt != 0) { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtExchange; aDataTable3.Rows[RowCnt++][1] = ExchangeTxtBox.Text + "<b> JOD"; } } } else if (CashMethodComboBox.Text == "Invoice") { aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtPayable; double VendorAccountAmountParserChk = 0; if (double.TryParse(VendorAccountAmountTxtBox.Text, out VendorAccountAmountParserChk)) { aDataTable3.Rows[RowCnt++][1] = ReceiptText.RctTxtOldBalance + " = " + VendorAccountAmountParserChk + " " + SharedVariables.Line_Solid_10px_Black + ReceiptText.RctTxtNewBalance + " = " + Math.Round((VendorAccountAmountParserChk + double.Parse(TotalTxtBox.Text)), 3); } } } aDataTableList.Add(aDataTable1); // aDataTableList.Add(aDataTable2); aDataTableList.Add(aDataTable3); List <string> aStringList = ReportsHelper.ImportReportHeader(0, 0); List <string> aFooterList = ReportsHelper.ImportReportHeader(1, 0); aStringList.Add(SharedVariables.Line_Solid_10px_Black); aStringList.Add(ReceiptName.RctNmsPurchase); aStringList.Add("*** " + ReceiptText.RctTxtDuplicate + " ***"); if (aPurchaseDataRow["IsRevised"].ToString() == "1") { aStringList.Add("*** " + ReceiptText.RctTxtReversed + " ***"); aStringList.Add("<h2> " + ReceiptText.RctTxtReversedBy + ": " + RevisedBylbl.Text + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtReversedOn + ": " + ReviseDatelbl.Text + "</h2>"); } aStringList.Add("<h2>" + ReceiptText.RctTxtOrgDate + "/" + ReceiptText.RctTxtOrgTime + " " + DateLbl.Text + " " + TimeLbl.Text + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtOrgTeller + ": " + TellerLbl.Text + "</h2>"); aStringList.Add("<h2>" + ReceiptText.RctTxtReprintedOn + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtReprintedBy + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtVendor + ": " + VendorsComboBox.Text + "</h2>"); aStringList.Add(ReceiptText.RctTxtPurchaseNumber + ": " + PurchaseVoucherNumTxtBox.Text); aStringList.Add(SharedVariables.Line_Solid_10px_Black); PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, true, true); return(true); } catch (Exception ex) { MessageBox.Show(MsgTxt.UnexpectedError + "\n Exception: IN[Edit PurchaseVoucher:Print Receipt [EXCEPTION IS]] \n" + ex.Message, MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
private void BTDT_FormClosed(object sender, FormClosedEventArgs e) { ReportsHelper.CleanReport(); }
public async Task <OperationDataResult <ReportModel> > GenerateReport(GenerateReportModel model) { try { var reportTimeType = _options.Value.ReportTimeType; Core core = await _coreHelper.GetCore(); List <SiteDto> sitesList = await core.SiteReadAll(false); DateTime modelDateFrom = new DateTime( model.DateFrom.Year, model.DateFrom.Month, model.DateFrom.Day, 0, 0, 0); DateTime modelDateTo = new DateTime( model.DateTo.Year, model.DateTo.Month, model.DateTo.Day, 23, 59, 59); // results to exclude string outerResourceName = ""; OuterResource areaToExclude; InnerResource machineToExclude; string innerResourceName = ""; List <ResourceTimeRegistration> jobsList; outerResourceName = _dbContext.PluginConfigurationValues.SingleOrDefault(x => x.Name == "OuterInnerResourceSettings:OuterTotalTimeName")?.Value; areaToExclude = _dbContext.OuterResources.SingleOrDefaultAsync(x => x.Name == outerResourceName).Result; innerResourceName = _dbContext.PluginConfigurationValues.SingleOrDefault(x => x.Name == "OuterInnerResourceSettings:InnerTotalTimeName")?.Value; machineToExclude = await _dbContext.InnerResources.SingleOrDefaultAsync(x => x.Name == innerResourceName); IQueryable <ResourceTimeRegistration> query = _dbContext.ResourceTimeRegistrations .Include(x => x.InnerResource) .Include(x => x.OuterResource); if (areaToExclude != null && machineToExclude != null) { if (model.Relationship == ReportRelationshipType.EmployeeTotal) { query = query.Where(x => x.OuterResourceId == areaToExclude.Id && x.InnerResourceId == machineToExclude.Id); } else { query = query.Where(x => x.OuterResourceId != areaToExclude.Id && x.InnerResourceId != machineToExclude.Id); } } else { query = query .Where(x => x.DoneAt >= modelDateFrom && x.DoneAt <= modelDateTo); } jobsList = await query.ToListAsync(); ReportModel reportModel = ReportsHelper.GetReportData(model, jobsList, sitesList, reportTimeType); return(new OperationDataResult <ReportModel>(true, reportModel)); } catch (Exception e) { Trace.TraceError(e.Message); _logger.LogError(e.Message); return(new OperationDataResult <ReportModel>(false, _outerInnerResourceLocalizationService.GetString("ErrorWhileGeneratingReport"))); } }
private bool ExportToPDF(int GeneralNumber) { try { List<DataTable> aDataTableList = new List<DataTable>(); DataTable aDataTable1 = new DataTable(); aDataTable1.Columns.Add("[border=true1]" + "<th width=15%>" + ReportsText.BarcodeRepTxt); aDataTable1.Columns.Add("<th width=20%>" + ReportsText.DescriptionRepTxt); aDataTable1.Columns.Add("<th width=9%>" + ReportsText.AvgCostRepTxt); aDataTable1.Columns.Add("<th width=9%>" + ReportsText.AvaQtyRepTxt); aDataTable1.Columns.Add(ReportsText.PhysicalCountRepTxt); aDataTable1.Columns.Add(ReportsText.DifferencesRepTxt); aDataTable1.Columns.Add(ReportsText.DifferenceValueRepTxt); double TotalPositive = 0.00, TotalNegative = 0.00, ParsingTester = 0.00; ; foreach (DataRow aRow in aItemsTable.Rows) { if (double.Parse(aRow["DifferencesColumn"].ToString()) == 0) { if (ACTIVE_MODE == AdjustItemsFrmModes.EDIT_MODE) { AdjustInventoryDetailedMgmt.DeleteDetailedEntries(GeneralNumber,int.Parse(aRow["ID"].ToString())); } continue; } DataRow aToAddRow = aDataTable1.Rows.Add(); if (ACTIVE_MODE==AdjustItemsFrmModes.ADDING_MODE) { aToAddRow[0] = aRow["Barcode"]; aToAddRow[1] = aRow["Description"]; aToAddRow[2] = Math.Round(double.Parse(aRow["AvgUnitCost"].ToString()), 3); aToAddRow[3] = Math.Round(double.Parse(aRow["Qty"].ToString()), 3); aToAddRow[4] = aRow["PhysicalCountColumn"]; aToAddRow[5] = aRow["DifferencesColumn"]; ParsingTester = double.Parse(aRow["DiffValueColumn"].ToString()); aToAddRow[6] = ParsingTester; } else if (ACTIVE_MODE == AdjustItemsFrmModes.EDIT_MODE) { aToAddRow[0] = ReportsHelper.FindData(AllItemsTable, "ID", "Barcode", aRow["ItemID"].ToString()); aToAddRow[1] = ReportsHelper.FindData(AllItemsTable, "ID", "Description", aRow["ItemID"].ToString()); aToAddRow[2] = Math.Round(double.Parse(ReportsHelper.FindData(AllItemsTable, "ID", "AvgUnitCost", aRow["ItemID"].ToString())), 3); aToAddRow[3] = Math.Round(double.Parse(ReportsHelper.FindData(AllItemsTable, "ID", "Qty", aRow["ItemID"].ToString())), 3); aToAddRow[4] = aRow["PhysicalCountColumn"]; aToAddRow[5] = aRow["DifferencesColumn"]; ParsingTester = double.Parse(aRow["DiffValueColumn"].ToString()); aToAddRow[6] = ParsingTester; } if (ParsingTester > 0) { TotalPositive += ParsingTester; } else { TotalNegative += ParsingTester; } } if (aDataTable1.Rows.Count == 0) { DataTable aEmptyTable = new DataTable(); aEmptyTable.Columns.Add("INVENTORY STOCK AVAILABLE QTY MATCHES 100% THE PHYSICAL COUNT"); aDataTableList.Add(aEmptyTable); } else { aDataTableList.Add(aDataTable1); DataRow NetRow = aDataTable1.Rows.Add(); string EmptyNoborderRow = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + ReportsHelper.MANUAL_TD_END; NetRow[0] = EmptyNoborderRow; NetRow[1] = EmptyNoborderRow; NetRow[2] = EmptyNoborderRow; NetRow[3] = EmptyNoborderRow; NetRow[4] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + ReportsText.TotalRepTxt + ReportsHelper.MANUAL_TD_END; NetRow[5] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + ReportsText.PosAdjValueRepTxt + ReportsHelper.MANUAL_TD_END; NetRow[6] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + TotalPositive + ReportsHelper.MANUAL_TD_END; NetRow = aDataTable1.Rows.Add(); NetRow[0] = EmptyNoborderRow; NetRow[1] = EmptyNoborderRow; NetRow[2] = EmptyNoborderRow; NetRow[3] = EmptyNoborderRow; NetRow[4] = EmptyNoborderRow; NetRow[5] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + ReportsText.NegAdjValueRepTxt + ReportsHelper.MANUAL_TD_END; NetRow[6] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + TotalNegative + ReportsHelper.MANUAL_TD_END; NetRow = aDataTable1.Rows.Add(); NetRow[0] = EmptyNoborderRow; NetRow[1] = EmptyNoborderRow; NetRow[2] = EmptyNoborderRow; NetRow[3] = EmptyNoborderRow; NetRow[4] = EmptyNoborderRow; NetRow[5] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + "<b>" + ReportsText.NetValueRepTxt + "<b>" + ReportsHelper.MANUAL_TD_END; NetRow[6] = ReportsHelper.MANUAL_TD_OPTION_START + ReportsHelper.UNDERLINE + ReportsHelper.NOBORDER + ReportsHelper.MANUAL_TD_OPTION_END + (TotalNegative + TotalPositive) + ReportsHelper.MANUAL_TD_END; } List<string> aStringList = ReportsHelper.ImportReportHeader(0, 1); List<string> aFooterList = ReportsHelper.ImportReportHeader(1, 1); aStringList.Add(SharedVariables.Line_Solid_10px_Black); if (ACTIVE_MODE==AdjustItemsFrmModes.ADDING_MODE) { aStringList.Add(ReportsNames.InventoryStockAdjustRepName); aStringList.Add("<h2>" + ReportsText.PrintedOnrepTxt + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReportsText.PrintedByrepTxt + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); } else { aStringList.Add("Update "+ReportsNames.InventoryStockAdjustRepName ); aStringList.Add("<h2>" + ReceiptText.RctTxtOrgDate + " " +DateTime.Parse( aAdjustGeneralList.Rows[0]["Date"].ToString()).ToShortDateString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtOrgTeller + ": " +aUserRow["UserName"].ToString() + "</h2>"); aStringList.Add("<h2>" + ReceiptText.RctTxtReprintedOn + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtReprintedBy + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); } aStringList.Add(ReceiptText.RctTxtInvoiceNum + ": " + GeneralNumber); aStringList.Add(SharedVariables.Line_Solid_10px_Black); PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, false, false, !XlsChkBox.Checked, ReportsHelper.TempPDFOutputPath, XlsChkBox.Checked, ReportsHelper.TempOutputPathExcel, false, false); if (XlsChkBox.Checked) { Process.Start(ReportsHelper.TempOutputPathExcel); } else { Process.Start(ReportsHelper.TempPDFOutputPath); } return true; } catch (Exception ex) { MessageBox.Show(MsgTxt.UnexpectedError + "\n Exception: IN[AdjustItemsFrm:ExportToPDF [EXCEPTION IS]] \n" + ex.Message, MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } }
//To Make Size Always Normal For Non-Grid Forms private bool print_receipt() { try { List <DataTable> aDataTableList = new List <DataTable>(); DataTable aDataTable1 = new DataTable(); aDataTable1.Columns.Add("[border=true1]" + ReceiptText.RctTxtToPayAmount); aDataTable1.Columns.Add(PaymentAmountTxtBox.Text); aDataTable1.Rows.Add(); aDataTable1.Rows[0][0] = ReceiptText.RctTxtPayMethod; aDataTable1.Rows[0][1] = PaymentMethodCheckBox.Text; aDataTable1.Rows.Add(); double OldCustomerAccountAmountParser = 0; if (double.TryParse(CustomerBalanceTxtBox.Text, out OldCustomerAccountAmountParser)) { aDataTable1.Rows[1][0] = ReceiptText.RctTxtOldBalance; aDataTable1.Rows[1][1] = OldCustomerAccountAmountParser; aDataTable1.Rows.Add(); aDataTable1.Rows[2][0] = ReceiptText.RctTxtNewBalance; aDataTable1.Rows[2][1] = OldCustomerAccountAmountParser + double.Parse(PaymentAmountTxtBox.Text); if (double.TryParse(CurrentBalanceTxtBox.Text, out OldCustomerAccountAmountParser)) { aDataTable1.Rows.Add(); aDataTable1.Rows[3][0] = ReceiptText.RctTxtCurrenctBalance; aDataTable1.Rows[3][1] = OldCustomerAccountAmountParser.ToString(); } } aDataTableList.Add(aDataTable1); List <string> aStringList = ReportsHelper.ImportReportHeader(0, 0); List <string> aFooterList = ReportsHelper.ImportReportHeader(1, 0); aStringList.Add(SharedVariables.Line_Solid_10px_Black); aStringList.Add(ReceiptName.RctNmsCustomerPay); aStringList.Add(ReceiptText.RctTxtDuplicate); if (aCustomerPaymentRowGlobal["IsRevised"].ToString() == "1") { aStringList.Add("*** " + ReceiptText.RctTxtReversed + " ***"); aStringList.Add("<h2> " + ReceiptText.RctTxtReversedBy + ": " + RevisedBylbl.Text + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtReversedOn + ": " + ReviseDatelbl.Text + "</h2>"); } aStringList.Add("<h2>" + ReceiptText.RctTxtOrgDate + "/" + ReceiptText.RctTxtOrgTime + " " + DateLbl.Text + " " + TimeLbl.Text + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtOrgTeller + ": " + TellerLbl.Text + "</h2>"); aStringList.Add("<h2>" + ReceiptText.RctTxtReprintedOn + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtReprintedBy + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); aStringList.Add(ReceiptText.RctTxtCustomer + ": " + CustomerNameTxtBox.Text); aStringList.Add(ReceiptText.RctTxtPaymentNum + ": " + PaymentNumberTxtBox.Text); aStringList.Add(SharedVariables.Line_Solid_10px_Black); PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, true, true); return(true); } catch (Exception ex) { MessageBox.Show(MsgTxt.UnexpectedError + "\n Exception: IN[EditCustomerPayment:Print Receipt [EXCEPTION IS]] \n" + ex.Message, MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
//年區間選單 public ActionResult Year(string date, string table) { List <SelectMenu> Year = ReportsHelper.GetYear(date, table); return(PartialView("SelectItem", Year)); }
private void exitToolStripMenuItem_Click(object sender, EventArgs e) { ReportsHelper.CleanReport(); this.Dispose(); this.Close(); }
private bool print_receipt() { try { List <DataTable> aDataTableList = new List <DataTable>(); DataTable aDataTable1 = new DataTable(); aDataTable1.Columns.Add("[border=true1]<th width=45%>" + ReceiptText.RctTxtItemName); aDataTable1.Columns.Add(ReceiptText.RctTxtUnitCost); aDataTable1.Columns.Add(ReceiptText.RctTxtQty); aDataTable1.Columns.Add(ReceiptText.RctTxtTotal); foreach (DataGridViewRow aRow in TeldgView.Rows) { aDataTable1.Rows.Add(); aDataTable1.Rows[aRow.Index][0] = aRow.Cells["Description"].Value.ToString(); aDataTable1.Rows[aRow.Index][1] = aRow.Cells["PricePerUnit"].Value.ToString(); aDataTable1.Rows[aRow.Index][2] = aRow.Cells["Qty"].Value.ToString(); aDataTable1.Rows[aRow.Index][3] = aRow.Cells["PriceTotal"].Value.ToString(); } int RowCnt = 0; DataTable aDataTable3 = new DataTable(); aDataTable3.Columns.Add("[border=true1]<th>" + ReceiptText.RctTxtTax); aDataTable3.Columns.Add(TaxTxtBox.Text + "JOD"); RowCnt = 0; aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = "<td style=\"background-color:#000;color:#fff;border-right-color:#fff;\"><b><font size=4>" + ReceiptText.RctTxtTotal + "</font>"; aDataTable3.Rows[RowCnt++][1] = "<td style=\"background-color:#000;color:#fff;border-left-color:#fff\"><b><font size=5>" + TotalTxtBox.Text + " JOD </font>"; aDataTable3.Rows.Add(); aDataTable3.Rows[RowCnt][0] = ReceiptText.RctTxtDisposalReason; aDataTable3.Rows[RowCnt++][1] = DisposalReasonComboBox.Text; aDataTableList.Add(aDataTable1); // aDataTableList.Add(aDataTable2); aDataTableList.Add(aDataTable3); List <string> aStringList = ReportsHelper.ImportReportHeader(0, 0); List <string> aFooterList = ReportsHelper.ImportReportHeader(1, 0); aStringList.Add(SharedVariables.Line_Solid_10px_Black); aStringList.Add(ReceiptName.RctNmsDisposeitems); aStringList.Add("<h2>" + ReceiptText.RctTxtDate + "/" + ReceiptText.RctTxtTime + " " + DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + "</h2>"); aStringList.Add("<h2> " + ReceiptText.RctTxtTeller + ": " + SharedFunctions.ReturnLoggedUserName() + "</h2>"); aStringList.Add(ReceiptText.RctTxtDisposeInvNumber + ": " + InvoiceNumTxtBox.Text); aStringList.Add(SharedVariables.Line_Solid_10px_Black); PrintingManager.Instance.PrintTables(aDataTableList, aStringList, aFooterList, ReportsHelper.TempOutputPath, ReportsHelper.TempOutputPath, !PrintingThermalA4ChkBox.Checked, !PrintingThermalA4ChkBox.Checked, PrintingThermalA4ChkBox.Checked, ReportsHelper.TempOutputPath + ".pdf", false, "", false, PrintingThermalA4ChkBox.Checked); if (PrintingThermalA4ChkBox.Checked) { Process.Start(ReportsHelper.TempPDFOutputPath); } return(true); } catch (Exception ex) { MessageBox.Show(MsgTxt.UnexpectedError + "\n Exception: IN[DisposeItems:Print Receipt [EXCEPTION IS]] \n" + ex.Message, MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
public async Task EmployeesReportByDay_Generate_DoesGenerate() { OuterResource newArea = new OuterResource() { Name = "My OuterResource 1", Version = 1 }; OuterResource newArea1 = new OuterResource() { Name = "My OuterResource 2", Version = 1 }; OuterResource newArea2 = new OuterResource() { Name = "My OuterResource 3", Version = 1 }; InnerResource newMachine = new InnerResource() { Name = "My InnerResource 1", Version = 1 }; InnerResource newMachine1 = new InnerResource() { Name = "My InnerResource 2", Version = 1 }; InnerResource newMachine2 = new InnerResource() { Name = "My InnerResource 3", Version = 1 }; await newArea.Create(DbContext); await newArea1.Create(DbContext); await newArea2.Create(DbContext); await newMachine.Create(DbContext); await newMachine1.Create(DbContext); await newMachine2.Create(DbContext); // Different days ResourceTimeRegistration newTimeRegistrationDay = new ResourceTimeRegistration() { OuterResourceId = newArea.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 13) }; ResourceTimeRegistration newTimeRegistrationDay1 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 14) }; ResourceTimeRegistration newTimeRegistrationDay2 = new ResourceTimeRegistration() { OuterResourceId = newArea2.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 15) }; ResourceTimeRegistration newTimeRegistrationDay3 = new ResourceTimeRegistration() { OuterResourceId = newArea.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 13) }; ResourceTimeRegistration newTimeRegistrationDay4 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 14) }; ResourceTimeRegistration newTimeRegistrationDay5 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 15) }; ResourceTimeRegistration newTimeRegistrationDay6 = new ResourceTimeRegistration() { OuterResourceId = newArea1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 15) }; await DbContext.ResourceTimeRegistrations.AddRangeAsync(newTimeRegistrationDay, newTimeRegistrationDay1, newTimeRegistrationDay2, newTimeRegistrationDay3, newTimeRegistrationDay4, newTimeRegistrationDay5, newTimeRegistrationDay6); await DbContext.SaveChangesAsync(); GenerateReportModel model = new GenerateReportModel() { DateFrom = new DateTime(2019, 5, 13), DateTo = new DateTime(2019, 5, 16), Relationship = ReportRelationshipType.Employee, Type = ReportType.Day }; List <SiteDto> sitesList = new List <SiteDto>() { new SiteDto(1, "Test Site 1", "", "", 1, 1, 1, 1), new SiteDto(2, "Test Site 2", "", "", 1, 1, 1, 1) }; DateTime modelDateFrom = new DateTime( model.DateFrom.Year, model.DateFrom.Month, model.DateFrom.Day, 0, 0, 0); DateTime modelDateTo = new DateTime( model.DateTo.Year, model.DateTo.Month, model.DateTo.Day, 23, 59, 59); List <ResourceTimeRegistration> jobsList = await DbContext.ResourceTimeRegistrations .Include(x => x.InnerResource) .Include(x => x.OuterResource) .Where(x => x.DoneAt >= modelDateFrom && x.DoneAt <= modelDateTo) .ToListAsync(); ReportModel reportModel = ReportsHelper.GetReportData(model, jobsList, sitesList, (int)ReportTimeType.Minutes); Assert.AreEqual(reportModel.SubReports.Count, 1); Assert.AreEqual(reportModel.SubReports[0].TotalTime, 4200); Assert.AreEqual(reportModel.SubReports[0].Entities.Count, sitesList.Count); Assert.AreEqual(reportModel.SubReports[0].Entities[0].EntityName, sitesList[0].SiteName); Assert.AreEqual(reportModel.SubReports[0].Entities[1].EntityName, sitesList[1].SiteName); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TotalTime, 1800); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TotalTime, 2400); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[0], 600); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[1], 600); }
public async Task OuterResourcesReportByWeek_Generate_DoesGenerate() { OuterResource newOuterResource = new OuterResource() { Name = "My OuterResource 1", Version = 1 }; OuterResource newOuterResource1 = new OuterResource() { Name = "My OuterResource 2", Version = 1 }; OuterResource newOuterResource2 = new OuterResource() { Name = "My OuterResource 3", Version = 1 }; InnerResource newMachine = new InnerResource() { Name = "My InnerResource 1", Version = 1 }; InnerResource newMachine1 = new InnerResource() { Name = "My InnerResource 2", Version = 1 }; InnerResource newMachine2 = new InnerResource() { Name = "My InnerResource 3", Version = 1 }; await newOuterResource.Create(DbContext); await newOuterResource1.Create(DbContext); await newOuterResource2.Create(DbContext); await newMachine.Create(DbContext); await newMachine1.Create(DbContext); await newMachine2.Create(DbContext); // Different Weeks ResourceTimeRegistration newTimeRegistrationWeek = new ResourceTimeRegistration() { OuterResourceId = newOuterResource.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 20) }; ResourceTimeRegistration newTimeRegistrationWeek1 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource1.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 20) }; ResourceTimeRegistration newTimeRegistrationWeek2 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource2.Id, Version = 1, SDKSiteId = 1, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 05, 27) }; ResourceTimeRegistration newTimeRegistrationWeek3 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 06, 27) }; ResourceTimeRegistration newTimeRegistrationWeek4 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 06, 05) }; ResourceTimeRegistration newTimeRegistrationWeek5 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine2.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 06, 05) }; ResourceTimeRegistration newTimeRegistrationWeek6 = new ResourceTimeRegistration() { OuterResourceId = newOuterResource1.Id, Version = 1, SDKSiteId = 2, InnerResourceId = newMachine1.Id, TimeInSeconds = 36000, DoneAt = new DateTime(2019, 06, 06) }; await DbContext.ResourceTimeRegistrations.AddRangeAsync(newTimeRegistrationWeek, newTimeRegistrationWeek1, newTimeRegistrationWeek2, newTimeRegistrationWeek3, newTimeRegistrationWeek4, newTimeRegistrationWeek5, newTimeRegistrationWeek6); await DbContext.SaveChangesAsync(); GenerateReportModel model = new GenerateReportModel() { DateFrom = new DateTime(2019, 5, 13), DateTo = new DateTime(2019, 6, 07), Relationship = ReportRelationshipType.OuterResource, Type = ReportType.Week }; List <SiteDto> sitesList = new List <SiteDto>() { new SiteDto(1, "Test Site 1", "", "", 1, 1, 1, 1), new SiteDto(2, "Test Site 2", "", "", 1, 1, 1, 1) }; DateTime modelDateFrom = new DateTime( model.DateFrom.Year, model.DateFrom.Month, model.DateFrom.Day, 0, 0, 0); DateTime modelDateTo = new DateTime( model.DateTo.Year, model.DateTo.Month, model.DateTo.Day, 23, 59, 59); List <ResourceTimeRegistration> jobsList = await DbContext.ResourceTimeRegistrations .Include(x => x.InnerResource) .Include(x => x.OuterResource) .Where(x => x.DoneAt >= modelDateFrom && x.DoneAt <= modelDateTo) .ToListAsync(); ReportModel reportModel = ReportsHelper.GetReportData(model, jobsList, sitesList, (int)ReportTimeType.Minutes); Assert.AreEqual(reportModel.SubReports.Count, 1); Assert.AreEqual(reportModel.SubReports[0].TotalTime, 3600); Assert.AreEqual(reportModel.SubReports[0].Entities.Count, 3); Assert.AreEqual(reportModel.SubReports[0].Entities[0].EntityName, newOuterResource.Name); Assert.AreEqual(reportModel.SubReports[0].Entities[1].EntityName, newOuterResource1.Name); Assert.AreEqual(reportModel.SubReports[0].Entities[2].EntityName, newOuterResource2.Name); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TotalTime, 600); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TotalTime, 2400); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[0], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[1], 600); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[2], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[0].TimePerTimeUnit[3], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TimePerTimeUnit[0], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TimePerTimeUnit[1], 600); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TimePerTimeUnit[2], 0); Assert.AreEqual(reportModel.SubReports[0].Entities[1].TimePerTimeUnit[3], 1800); }