public void Send_ready_report() { var payer = new TestPayer("Тестовый плательщик"); session.Save(payer); var report = new GeneralReport(session.Load <Payer>(payer.Id)); session.Save(report); report.LastSuccess = DateTime.Now; var executelog = new ReportExecuteLog(report); session.Save(executelog); session.Save(new ReportLog(report, executelog)); session.Flush(); executelog.BuildTestFile(); Open($"/Reports/schedule.aspx?r={report.Id}"); var radio = browser.FindElementsByCssSelector("input[type=\"radio\"]").First(x => x.GetAttribute("Value") == "RadioMails"); radio.Click(); browser.FindElementById("mail_Text").Clear(); Click("Выслать готовый"); AssertText("Укажите получателя отчета !"); browser.FindElementById("mail_Text").SendKeys("*****@*****.**"); Click("Выслать готовый"); AssertText("Файл отчета успешно отправлен"); }
public void Delete_report() { var comment = Generator.Name(); var payer = new Payer("Тестовый плательщик"); var report = new GeneralReport(payer) { Comment = comment }; session.Save(payer); session.Save(report); var reportPage = new Reports_GeneralReports { DbSession = session, UnderTest = true, }; reportPage.SendDeleteAlert(report.Id, comment, "Test", "128.0.0.1"); var message = reportPage.Messages[0]; Assert.That(message.To[0].Address, Is.EqualTo("*****@*****.**")); Assert.That(message.Body.Contains(report.Comment), Is.True); Assert.That(message.Body.Contains(report.Id.ToString()), Is.True); }
protected void btnNext_Click(object sender, EventArgs e) { if (this.IsValid) { GeneralReport _generalReport = GeneralReport.Find(Convert.ToUInt64(Request["TemporaryId"])); ReportType _reportType = ReportType.Find(Convert.ToUInt64(ddlReportTypes.SelectedValue)); Report _newReport = new Report() { GeneralReport = _generalReport, ReportType = _reportType, Enabled = true, ReportCaption = tbReportName.Text }; Report[] _oldReports = Report.FindAll(Expression.Eq("GeneralReport", _generalReport)); using (new TransactionScope()) { foreach (Report _deletedReport in _oldReports) { _deletedReport.Delete(); } _newReport.Save(); } if (ddlTemplates.Visible && (ddlTemplates.SelectedIndex > 0)) { ulong _sourceTemplateReport = Convert.ToUInt64(ddlTemplates.SelectedValue); ReportHelper.CopyReportProperties(_sourceTemplateReport, _newReport.Id); } Response.Redirect(String.Format( "ReportProperties.aspx?TemporaryId={0}&rp={1}", Request["TemporaryId"], _newReport.Id)); } }
private List <GeneralReportGridView> GetGeneralReport(string start_date, string end_date) { GeneralReport GR = new GeneralReport(General.settings.username, General.settings.password, General.settings.host, General.settings.lang, start_date, end_date); string json = GR.execute(); IList <IDictionary <string, object> > list_of_dict = new JavaScriptSerializer().Deserialize <IList <IDictionary <string, object> > >(json); List <GeneralReportGridView> GRGV_List = new List <GeneralReportGridView>(); foreach (IDictionary <string, object> dict in list_of_dict) { GeneralReportGridView GRGV = new GeneralReportGridView( Convert.ToInt32(dict["sms_id"]), dict["sender"].ToString(), Convert.ToDecimal(dict["cost"]), dict["message"].ToString(), DateTime.ParseExact(dict["created"].ToString(), "dd.MM.yyyy - HH:mm", System.Globalization.CultureInfo.InvariantCulture), Convert.ToInt32(dict["count"]), Convert.ToInt32(dict["waiting_count"]), Convert.ToInt32(dict["delivered_count"]), Convert.ToInt32(dict["undelivered_count"]), Convert.ToBoolean(dict["succeeded"]) ); GRGV_List.Add(GRGV); } return(GRGV_List); }
public void CheckTaskDefinitionUpdate() { var comment = Generator.Name(); var payer = new Payer("Тестовый плательщик"); var report = new GeneralReport(payer) { Comment = comment }; session.Save(payer); session.Save(report); var helper = new ScheduleHelper(); helper.GetTaskOrCreate(report.Id, report.Comment); var reportPage = new Reports_GeneralReports { DbSession = session }; comment = Generator.Name(); report.Comment = comment; session.Save(report); session.Flush(); reportPage.UpdateTasksForGeneralReports(new List <ulong>(), new List <ulong> { report.Id }); var task = helper.GetTaskOrCreate(report.Id, report.Comment); Assert.AreEqual(task.Definition.RegistrationInfo.Description, comment); }
public void TestRecipientsList() { var payer = new TestPayer("Тестовый плательщик"); session.Save(payer); var contactGroupOwner = new TestContactGroupOwner(); contactGroupOwner.SaveAndFlush(); var client1 = TestClient.CreateNaked(session); var client2 = TestClient.CreateNaked(session); client1.Payers.Add(payer); client2.Payers.Add(payer); session.CreateSQLQuery(@"INSERT INTO Billing.PayerClients(ClientId, PayerId) VALUES(:clientid1, :payerid); INSERT INTO Billing.PayerClients(ClientId, PayerId) VALUES(:clientid2, :payerid);" ) .SetParameter("clientid1", client1.Id).SetParameter("clientid2", client2.Id).SetParameter("payerid", payer.Id).ExecuteUpdate(); var repPayer = Payer.Find(payer.Id); var new_report = new GeneralReport() { Format = "Excel", Payer = repPayer, Comment = "Тестовый отчет" }; new_report.SaveAndFlush(); var reportId = new_report.Id; var report = GeneralReport.Find(Convert.ToUInt64(reportId)); Assert.That(report.Payer.AllClients.Count, Is.EqualTo(2)); Assert.That(report.Payer.Clients[0].ShortName, Is.EqualTo(client1.Name)); Assert.That(report.Payer.Clients[1].ShortName, Is.EqualTo(client2.Name)); }
protected void Page_Load(object sender, EventArgs e) { if (String.IsNullOrEmpty(Request["TemporaryId"])) { GeneralReport _generalReport = new GeneralReport() { Allow = true, Temporary = true, TemporaryCreationDate = DateTime.Now, Format = "Excel" }; //Выставляем плательщика 921 (Офис123) //todo: Возможно потом это надо удалить _generalReport.Payer = Payer.Find((uint)921); using (new TransactionScope()) { _generalReport.Save(); } Response.Redirect("TemporaryReport.aspx?TemporaryId=" + _generalReport.Id); } if (!this.IsPostBack) { ReportType[] _reportTypes = ReportType.FindAll(Order.Asc("ReportTypeName")); ddlReportTypes.DataSource = _reportTypes; ddlReportTypes.DataTextField = "ReportTypeName"; ddlReportTypes.DataValueField = "Id"; ddlReportTypes.DataBind(); tbReportName.Text = _reportTypes[0].AlternateSubject; BindTemplateReports(_reportTypes[0]); } }
public void Release_report_references() { var report = new GeneralReport(); report.NoArchive = true; report.Reports.Enqueue(new FakeReport()); report.BuildResultFile(); Assert.AreEqual(0, report.Reports.Count); }
public void RadiusRFChart(GeneralReport genReport) { try { genReport.RadiusReactionForce = genReport.RadiusReactionForce.OrderBy(k => k.Key).ToDictionary(k => k.Key, v => v.Value * Math.Pow(10, -6)); Form1._Form1.lineChart.ChartAreas[0].AxisX.Minimum = genReport.RadiusReactionForce.Select(k => k.Key).Min(); Form1._Form1.lineChart.ChartAreas[0].AxisX.Maximum = genReport.RadiusReactionForce.Select(k => k.Key).Max(); Form1._Form1.lineChart.ChartAreas[0].AxisX.MajorGrid.Interval = 2.5; Form1._Form1.lineChart.ChartAreas[0].AxisX.Title = "Radius, mm"; Form1._Form1.lineChart.ChartAreas[0].AxisY.Title = "Force, MN"; Form1._Form1.lineChart.Series[0].Points.DataBindXY(genReport.RadiusReactionForce.Keys, genReport.RadiusReactionForce.Values); Form1._Form1.lineChart.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line; string file; var str = new StringBuilder(); str.Append("(RF)"); str.Append("Radius Chart"); str.Append(".png"); file = str.ToString(); str.Clear(); if (File.Exists(genReport.folderName + @"\" + file)) { int numberfile = 0; string filename = Path.GetFileNameWithoutExtension(file); string extension = Path.GetExtension(file); Match regex = Regex.Match(file, @"(.+) \((\d+)\)\.\w+"); if (regex.Success) { filename = regex.Groups[1].Value; numberfile = int.Parse(regex.Groups[2].Value); } do { numberfile++; file = Path.Combine(string.Format("{0} ({1}) {2}", filename, numberfile, extension)); }while (File.Exists(genReport.folderName + @"\" + file)); } Form1._Form1.lineChart.SaveImage(genReport.folderName + @"\" + file, System.Windows.Forms.DataVisualization.Charting.ChartImageFormat.Png); genReport.FrictionReactionForce.Clear(); } catch (Exception e) { MessageBox.Show("Radius RF General report:" + e.Message); } }
public void SetUp() { _report = new GeneralReport() { EMailSubject = "Тестовый отчет" }; var ownerId = uint.Parse(ConfigurationManager.AppSettings["ReportsContactGroupOwnerId"]); _contactGroupOwner = session.Get <ContactGroupOwner>(ownerId); session.Save(_report); }
public void Setup() { report = new GeneralReport(); report.Id = 1; report.EMailSubject = "test"; report.Contacts = new[] { "*****@*****.**" }; report.Testing = true; report.Connection = (MySqlConnection)session.Connection; FileHelper.InitDir("History"); }
public void Build_report_if_last_broken() { var report = new GeneralReport(); report.NoArchive = true; report.Reports.Enqueue(new FakeReport()); report.Reports.Enqueue(new TestProcessReport.FakeReportWithReportException()); var files = report.BuildResultFile(); Assert.AreEqual("Rep0.xls", files.Implode(x => Path.GetFileName(x))); }
public void GetGeneralReportViewModel(GeneralReportViewModel model) { var hotels = Repo <HotelRestaurantRepository>().GetAllModels() .AddEqual(obj => obj.DistrictId == model.AreaGuid, model.AreaGuid) .AddEqual(item => item.StreetId == model.StreetGuid, model.StreetGuid) .AddEqual(hotel => hotel.AddressId == model.AddressGuid, model.AddressGuid); var startDate = ReportStartDate(model.DueDateTime, model.ReportType).GetToday(); using (var repo = Repo <RunningTimeRepository>()) { foreach (var hotel in hotels) { var report = new GeneralReport { HotelGuid = hotel.Id, HotelName = hotel.ProjectName }; if (repo.GetCount(obj => obj.ProjectIdentity == hotel.Identity) <= 0) { report.TotalCleanerRunTimeTicks = 0; report.TotalFanRunTimeTicks = 0; model.GeneralReports.Add(report); continue; } var cleanerRecord = repo.GetModels(obj => obj.UpdateTime >= startDate && obj.UpdateTime < model.DueDateTime && obj.ProjectIdentity == hotel.Identity && obj.Type == RunningTimeType.Cleaner); if (cleanerRecord.Count() != 0) { report.TotalCleanerRunTimeTicks = cleanerRecord.Sum(item => item.RunningTimeTicks); } var fanRecord = repo.GetModels(obj => obj.UpdateTime >= startDate && obj.UpdateTime < model.DueDateTime && obj.ProjectIdentity == hotel.Identity && obj.Type == RunningTimeType.Fan); if (fanRecord.Count() != 0) { report.TotalFanRunTimeTicks = fanRecord.Sum(item => item.RunningTimeTicks); } model.GeneralReports.Add(report); } } }
public void Collect_contacts() { //моделируем ситуацию если не задана группа рассылки а есть только публичные контакты var report = new GeneralReport { PublicSubscriptions = new ContactGroup { Contacts = { new Contact(ContactType.Email, "*****@*****.**") } } }; report.CollectContacts(); Assert.AreEqual(report.Contacts[0], "*****@*****.**"); Assert.AreEqual(1, report.Contacts.Length); }
public MainFunction(GeometryOptions model, MaterialsOptions material, AdditionallyOptions add, FileName file, CommonReport finalReport, GeneralReport genReport, Routes rout, ArgumentsCMD cmd, FilesForVolume filesForVolume) { this.model = model; this.material = material; this.add = add; this.file = file; this.finalReport = finalReport; this.genReport = genReport; this.rout = rout; this.cmd = cmd; this.filesForVolume = filesForVolume; }
public void TestArchBase() { var gr = new GeneralReport(); gr.NoArchive = true; gr.Reports.Enqueue(new FakeReport()); var file = gr.ArchFile(gr.BuildResultFile())[0]; Assert.That(Path.GetExtension(file), Is.EqualTo(".xls")); gr = new GeneralReport(); gr.Reports.Enqueue(new FakeReport()); file = gr.ArchFile(gr.BuildResultFile())[0]; Assert.That(Path.GetExtension(file), Is.EqualTo(".zip")); }
public void CopyReportTest() { var generalReport1 = new GeneralReport { Comment = "тестовый отчет1" }; session.Save(generalReport1); var generalReport2 = new GeneralReport { Comment = "тестовый отчет2" }; session.Save(generalReport2); var report1 = new Report { GeneralReport = generalReport1, Enabled = true, ReportCaption = "testReport1", ReportType = session.Query <ReportType>().First(), }; session.Save(report1); var property = session.Query <ReportProperty>().First(t => t.Report == report1); property.Value = "propertyValue1"; session.Save(property); generalReport1.Reports.Add(report1); session.Save(generalReport1); var controller = new CopyReportController(); PrepareController(controller); controller.DbSession = session; controller.CopyReport(generalReport2.Id, new GeneralReportsFilter { Report = report1.Id, GeneralReport = generalReport1.Id }); session.Evict(generalReport2); generalReport2 = session.Query <GeneralReport>().First(t => t.Id == generalReport2.Id); var report2 = generalReport2.Reports.First(); Assert.That(report2, Is.Not.Null); Assert.That(report2.Enabled, Is.EqualTo(report1.Enabled)); Assert.That(report2.ReportCaption, Is.EqualTo(String.Concat("Копия ", report1.ReportCaption))); var properties2 = session.Query <ReportProperty>().Where(t => t.Report == report2); var properties1 = session.Query <ReportProperty>().Where(t => t.Report == report1); foreach (var reportProperty in properties1) { Assert.That(properties2.Count(p => p.PropertyType == reportProperty.PropertyType && p.Value == reportProperty.Value), Is.Not.EqualTo(0)); } }
protected void Page_Load(object sender, EventArgs e) { if (String.IsNullOrEmpty(Request["TemporaryId"])) { Response.Redirect("base.aspx"); } else { uint contactOwnerId; if (uint.TryParse(ConfigurationManager.AppSettings["ReportsContactGroupOwnerId"], out contactOwnerId)) { try { _reportsContactGroupOwner = ContactGroupOwner.Find(contactOwnerId); } catch (NotFoundException exp) { throw new ReportTunerException("В файле Web.Config параметр ReportsContactGroupOwnerId указывает на несуществующую запись.", exp); } } else { throw new ReportTunerException("В файле Web.Config параметр ReportsContactGroupOwnerId не существует или настроен некорректно."); } _generalReport = GeneralReport.Find(Convert.ToUInt64(Request["TemporaryId"])); _taskService = ScheduleHelper.GetService(); _currentTask = ScheduleHelper.GetTaskOrCreate( _taskService, ScheduleHelper.GetReportsFolder(_taskService), _generalReport.Id, "Временный отчет, созданный " + _generalReport.TemporaryCreationDate.Value.ToString(), "GR"); btnRun.Enabled = _currentTask.Enabled && (_currentTask.State != TaskState.Running); btnRun.Text = (_currentTask.State == TaskState.Running) ? StatusNotRunning : StatusRunning; if ((_generalReport.ContactGroup == null) && btnRun.Enabled) { btnRun.Enabled = false; } if (!IsPostBack) { ClearSearch(); if (_generalReport.ContactGroup != null) { lContactGroupName.Text = _generalReport.ContactGroup.Name; } } } }
public void Collect_contacts_from_groups() { var report = new GeneralReport { ContactGroup = new ContactGroup { Contacts = { new Contact(ContactType.Email, "*****@*****.**") } }, PublicSubscriptions = new ContactGroup { Contacts = { new Contact(ContactType.Email, "*****@*****.**") } } }; report.CollectContacts(); var contacts = report.Contacts.Implode(); Assert.AreEqual(contacts, "[email protected], [email protected]"); }
public void Troubleshoot_general_report() { Debug.Listeners.Add(new ConsoleTraceListener()); QueryCatcher.Catch("Inforoom.ReportSystem.Helpers"); uint id = 144; var cn = "server=sql.analit.net;user=;password=;default command timeout=0;Allow user variables=true;database=usersettings"; var dataAdapter = new MySqlDataAdapter("", cn); dataAdapter.SelectCommand.CommandText = @" select * from reports.Reports r, reports.reporttypes rt where r.GeneralReportCode = ?reportcode and rt.ReportTypeCode = r.ReportTypeCode"; dataAdapter.SelectCommand.Parameters.AddWithValue("?reportcode", id); var res = new DataTable(); dataAdapter.Fill(res); using (var connection = new MySqlConnection(cn)) { connection.Open(); foreach (DataRow drGReport in res.Rows) { if (Convert.ToBoolean(drGReport[BaseReportColumns.colEnabled])) { //Создаем отчеты и добавляем их в список отчетов var reportcode = (ulong)drGReport[BaseReportColumns.colReportCode]; Console.WriteLine("Отчет {0}", reportcode); var prop = GeneralReport.LoadProperties(connection, reportcode); var bs = (BaseReport)Activator.CreateInstance( GetReportTypeByName(drGReport[BaseReportColumns.colReportClassName].ToString()), new object[] { connection, prop }); bs.Session = session.SessionFactory.OpenSession(connection); bs.ReportCaption = "rep"; bs.Write(Path.GetFullPath("test.xls")); } } } }
public void Arhive_per_file() { var files = new[] { "tmp/1.dbf", "tmp/2.dbf" }; FileHelper.InitDir("tmp"); FileHelper.Touch(files); var report = new GeneralReport(); report.ReportArchName = "test.zip"; report.WorkDir = "tmp"; report.MailPerFile = true; var result = report.ArchFile(files); Assert.AreEqual("tmp/1.zip, tmp/2.zip", result.Implode()); Assert.AreEqual("1.dbf", LsZip("tmp/1.zip").Implode()); }
protected SiteMapNode ExpandForumPath(Object sender, SiteMapResolveEventArgs e) { SiteMapNode currentNode = e.Provider.CurrentNode.Clone(true); if (currentNode.Key.EndsWith("/reports/reportproperties.aspx", StringComparison.OrdinalIgnoreCase)) { if (!String.IsNullOrEmpty(e.Context.Request["TemporaryId"])) { SiteMapNode _temporaryNode = e.Provider.FindSiteMapNode("~/Reports/TemporaryReport.aspx"); currentNode = _temporaryNode.ChildNodes[0].Clone(true); currentNode.ParentNode.Url += "?TemporaryId=" + e.Context.Request["TemporaryId"]; } else { currentNode.ParentNode.Url += "?r=" + e.Context.Request["r"]; } } if (currentNode.Key.EndsWith("/reports/reportpropertyvalues.aspx", StringComparison.OrdinalIgnoreCase)) { if (!String.IsNullOrEmpty(e.Context.Request["TemporaryId"])) { SiteMapNode _temporaryNode = e.Provider.FindSiteMapNode("~/Reports/TemporaryReport.aspx"); //Здесь это делается не совсем корректно. currentNode = _temporaryNode.ChildNodes[0].ChildNodes[0].Clone(true); currentNode.ParentNode.ParentNode.Url += "?TemporaryId=" + e.Context.Request["TemporaryId"]; currentNode.ParentNode.Url += e.Context.Request["TemporaryId"] + "&rp=" + e.Context.Request["rp"]; } else { currentNode.ParentNode.Url += "?r=" + e.Context.Request["r"] + "&rp=" + e.Context.Request["rp"]; } } if (currentNode.Key.EndsWith("/reports/temporaryreportschedule.aspx", StringComparison.OrdinalIgnoreCase)) { currentNode.ParentNode.ParentNode.Url += "?TemporaryId=" + e.Context.Request["TemporaryId"]; Report _temporaryReport = Report.FindFirst( Expression.Eq("GeneralReport", GeneralReport.Find(Convert.ToUInt64(e.Context.Request["TemporaryId"])))); currentNode.ParentNode.Url += e.Context.Request["TemporaryId"] + "&rp=" + _temporaryReport.Id; } return(currentNode); }
public void Delete_report() { var report = new GeneralReport(); report.ContactGroup = new ContactGroup(ContactGroupType.Reports); report.ContactGroup.ContactGroupOwner = new ContactGroupOwner(); session.Save(report.ContactGroup.ContactGroupOwner); session.Save(report.ContactGroup); session.Save(report); var controller = new ReportsController(); Prepare(controller); controller.Delete(new[] { report.Id }); session.Flush(); session.Clear(); Assert.IsNull(session.Get <GeneralReport>(report.Id)); Assert.IsNull(session.Get <ContactGroup>(report.ContactGroup.Id)); }
private void BindTemplateReports(ReportType selectedReportType) { Report[] _templateReports = Report.FindAll( Order.Asc("ReportCaption"), Expression.Eq("GeneralReport", GeneralReport.Find(Convert.ToUInt64(ConfigurationManager.AppSettings["TemplateReportId"]))), Expression.Eq("ReportType", selectedReportType)); if (_templateReports.Length > 0) { ddlTemplates.Visible = true; ddlTemplates.DataSource = _templateReports; ddlTemplates.DataTextField = "ReportCaption"; ddlTemplates.DataValueField = "Id"; ddlTemplates.DataBind(); ddlTemplates.Items.Insert(0, new ListItem("не установлен", String.Empty)); } else { ddlTemplates.Visible = false; } }
public void Base_test() { var report = new GeneralReport(); session.Save(report); var helper = new ScheduleHelper(); helper.GetTaskOrCreate(report.Id); ScheduleHelper.SetTaskAction(report.Id, String.Format("/gr:{0} /manual:true", report.Id)); session.CreateSQLQuery("delete from `logs`.reportexecutelogs; update reports.general_reports set allow = 0;").ExecuteUpdate(); session.Transaction.Commit(); Program.Main(new[] { String.Format("/gr:{0}", report.Id) }); var reportLogCount = session.Query <ReportExecuteLog>().Count(); Assert.AreEqual(reportLogCount, 1); var currentTask = helper.FindTask(report.Id); Assert.That(((ExecAction)currentTask.Definition.Actions[0]).Arguments, Does.Contain("manual:true")); }
static void Main(string[] args) { Customer customer1 = new Customer("Bruce Wayne"); Customer customer2 = new Customer("Peter Parker"); Customer customer3 = new Customer("Iron Man"); customer1.addOrder(new Order("Batmobile", "Wheels")); Order order1 = new Order("Weapons"); order1.addItem(new Item("Batarang")); order1.addItem(new Item("Pocket Explosive")); order1.addItem(new Item("Tazer")); customer1.addOrder(order1); Order order2 = new Order("Equipment"); order2.addItem(new Item("Web Shooter")); order2.addItem(new Item("Costume")); customer2.addOrder(order2); Order order3 = new Order("Armored suit"); order3.addItem(new Item("Omnibeam")); order3.addItem(new Item("Pentabeam")); order3.addItem(new Item("Sensor Array")); customer3.addOrder(order3); CustomerGroup cg = new CustomerGroup(); cg.addCustomer(customer1); cg.addCustomer(customer2); cg.addCustomer(customer3); GeneralReport visitor = new GeneralReport(); cg.accept(visitor); visitor.displayResults(); }
public void Resend_report() { Global.Config.ReportHistoryPath = Path.Combine(ScheduleHelper.ScheduleWorkDir, "History"); var payer = new Payer("Тестовый плательщик"); var report1 = new GeneralReport(payer); var report2 = new GeneralReport(payer); session.Save(payer); session.Save(report1); session.Save(report2); var log1 = new ReportExecuteLog(report1); session.Save(log1); session.Save(new ReportLog(report1, log1) { LogTime = DateTime.Now.AddDays(-2) }); var log2 = new ReportExecuteLog(report2); session.Save(log2); session.Save(new ReportLog(report2, log2)); session.Flush(); var content = log1.BuildTestFile(); log2.BuildTestFile(); report1.UnderTest = true; report1.ResendReport(session, new List <string> { "*****@*****.**" }); var message = report1.Messages[0]; var sendedContent = new StreamReader(message.Attachments[0].ContentStream).ReadToEnd(); Assert.That(sendedContent, Is.EqualTo(content)); }
protected Report CreateReport(string reportType) { payer = new TestPayer("Тестовый плательщик"); var org = new TestLegalEntity(payer, "Тестовое юр. лицо"); payer.Orgs.Add(org); session.Save(payer); session.Flush(); org.Name += " " + org.Id; session.Save(org); var type = session.Query <ReportType>().First(t => t.ReportTypeFilePrefix == reportType); var generalReport = new GeneralReport(session.Load <Payer>(payer.Id)); var report = generalReport.AddReport(type); session.Save(generalReport); session.Save(report); //что сработал триггер который создаст параметры session.Flush(); session.Refresh(report); return(report); }
public void Processing(GeometryOptions model, FileName file, FilesForVolume filesForVolume, GeneralReport genReport) { try { Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); var extract = new RunExtract(rout); extract.ExtractName(cmd.extractName, file); extract.ChangeName(file); extract.ExtractFiles(cmd.extractFiles); extract.ExtractNodes(cmd.extractNodes, file); var extrRoutes = new RoutesForExtract(); extrRoutes.setReactionForceRoute = rout.workingDirectory + @"\RF3Stamp.csv"; var extrRF = new ExtractRF(); extrRF.Extract(extrRoutes, model); var reprRF = new ReactionForceReport(); reprRF.ReportReactionForce(model, genReport, file, extrRF); filesForVolume.stampNodeDisplacementRoute = rout.workingDirectory + @"\" + filesForVolume.stampNodeDisplacementName; filesForVolume.blankNodeDisplacementRoute = rout.workingDirectory + @"\" + filesForVolume.blankNodeDisplacementName; filesForVolume.blankCoordinatesRoute = rout.workingDirectory + @"\" + filesForVolume.blankCoordinatesName; filesForVolume.elementCoordinatesRoute = rout.workingDirectory + @"\" + filesForVolume.elementCoordinatesName; filesForVolume.stampNodesRoute = rout.workingDirectory + @"\" + filesForVolume.stampNodesName; filesForVolume.elementVolumeRoute = rout.workingDirectory + @"\" + filesForVolume.elementVolumeName; var extrVolume = new ExtractVolume(); //extrVolume.GetStampNodesDisplacement(filesForVolume); extrVolume.GetBlankNodesDisplacement(filesForVolume); //extrVolume.GetBlanksNodeCoordinates(filesForVolume); //extrVolume.GetElementCoordinates(filesForVolume, model); extrVolume.Volume(model); var reprVolume = new VolumeReport(); reprVolume.ReportVolume(model, genReport, file, extrVolume); } catch (Exception e) { Console.WriteLine(e.Message); } }
protected void Page_Load(object sender, EventArgs e) { if ((Request.UrlReferrer == null || !Request.UrlReferrer.LocalPath.Contains("Schedule.aspx")) && Session["StartTaskTime"] != null) { Session.Remove("StartTaskTime"); } if (Request["r"] == null) { Response.Redirect("GeneralReports.aspx"); } _generalReport = GeneralReport.Find(Convert.ToUInt64(Request["r"])); taskService = ScheduleHelper.GetService(); reportsFolder = ScheduleHelper.GetReportsFolder(taskService); currentTask = ScheduleHelper.GetTaskOrCreate(taskService, reportsFolder, _generalReport.Id, _generalReport.Comment, "GR"); currentTaskDefinition = currentTask.Definition; tempTask = ScheduleHelper.FindTaskNullable(reportsFolder, _generalReport.Id, "temp_"); TaskState tempTaskState; string tempTaskDescription = string.Empty; if (tempTask != null) { tempTaskState = tempTask.State; tempTaskDescription = tempTask.Definition.RegistrationInfo.Description; } else { tempTaskState = TaskState.Unknown; } btnExecute.Enabled = currentTask.State != TaskState.Running && tempTaskState != TaskState.Running; btnExecute.Text = (currentTask.State == TaskState.Running) ? StatusNotRunning : StatusRunning; var userName = HttpContext.Current.User.Identity.Name.Replace(@"ANALIT\", string.Empty); ErrorMassage.Text = string.Empty; ErrorMassage.CssClass = "error"; var description = tempTaskState == TaskState.Running ? string.Format("(запустил: {0})", tempTaskDescription) : string.Empty; if (tempTaskState == TaskState.Running || currentTask.State == TaskState.Running) { ExecAction action = null; var currentReportNumber = ""; ulong runningNumber = 0; if (tempTaskState == TaskState.Running) { if (tempTask != null) { action = (ExecAction)tempTask.Definition.Actions.FirstOrDefault(); } } else { action = (ExecAction)currentTask.Definition.Actions.FirstOrDefault(); } if (action != null) { var arguments = (action).Arguments; if (!String.IsNullOrEmpty(arguments)) { if (arguments.IndexOf("/gr:") >= 0) { var substring = arguments.Substring(arguments.IndexOf("/gr:") + 4); var numberLength = substring.IndexOf(@" /"); var reportNumber = substring.Substring(0, numberLength != -1 ? numberLength : substring.Length); if (!String.IsNullOrEmpty(reportNumber)) { currentReportNumber += " № "; currentReportNumber += reportNumber; ulong.TryParse(reportNumber, out runningNumber); } } } } var startTime = GetStartTime(DbSession, runningNumber != 0 ? runningNumber : _generalReport.Id); var prefix = tempTaskState == TaskState.Running ? String.Format("Успешно запущен разовый отчет{0}", currentReportNumber) : String.Format("Отчет запущен ({0})", currentReportNumber); if (tempTaskDescription == userName || currentTask.State == TaskState.Running) { ErrorMassage.Text = string.Format("{0}, ожидайте окончания выполнения операции. {1}", prefix, startTime); ErrorMassage.BackColor = Color.LightGreen; } else { ErrorMassage.Text = String.Format("{1}, выполнение данного отчета отложено {0}. {2}", description, prefix, startTime); ErrorMassage.BackColor = Color.Red; } btn_Mailing.Enabled = false; RadioSelf.Enabled = false; RadioMails.Enabled = false; } if (tempTaskState == TaskState.Queued || currentTask.State == TaskState.Queued) { var prefix = tempTaskState == TaskState.Running ? "Запускается разовый отчет" : "Отчет запускается"; if (tempTaskDescription == userName || currentTask.State == TaskState.Queued) { ErrorMassage.Text = string.Format("{0}, ожидайте окончания выполнения операции", prefix); ErrorMassage.BackColor = Color.LightGreen; } else { ErrorMassage.Text = string.Format("{1} {0}, выполнение данного отчета отложено)", description, prefix); ErrorMassage.BackColor = Color.Red; } btn_Mailing.Enabled = false; RadioSelf.Enabled = false; RadioMails.Enabled = false; } if ((tempTaskState == TaskState.Ready && currentTask.State != TaskState.Running && currentTask.State != TaskState.Queued) || (currentTask.State == TaskState.Ready && tempTaskState != TaskState.Running && tempTaskState != TaskState.Queued)) { if (tempTaskDescription == userName || currentTask.State == TaskState.Ready) { // отчет выполнен if (Session["StartTaskTime"] != null) { Session.Remove("StartTaskTime"); ErrorMassage.Text = "Операция выполнена"; ErrorMassage.BackColor = Color.LightGreen; } else { ErrorMassage.Text = ""; } } } if ((tempTaskState == TaskState.Disabled && currentTask.State != TaskState.Running && currentTask.State != TaskState.Queued) || (currentTask.State == TaskState.Disabled && tempTaskState != TaskState.Running && tempTaskState != TaskState.Queued)) { if (Session["StartTaskTime"] != null) { Session.Remove("StartTaskTime"); ErrorMassage.Text = "Операция отменена"; ErrorMassage.BackColor = Color.Red; } else { ErrorMassage.Text = ""; } } var otherTriggers = new List <Trigger>(); if (!IsPostBack) { var selfMail = GetSelfEmails(); if ((selfMail.Count != 0) && (selfMail[0].Length != 0)) { RadioSelf.Text = "Выполнить и отослать на: " + selfMail[0][0]; } dtFrom.Value = DateTime.Now.AddDays(-7).ToShortDateString(); dtTo.Value = DateTime.Now.ToShortDateString(); mail_Text.Text = GetMailingAdresses(); try { lblClient.Text = _generalReport.Payer.Id + " - " + _generalReport.Payer.ShortName; lblReportComment.Text = _generalReport.Comment; var lastLogTimes = ObjectFromQuery(new[] { new MySqlParameter("?GeneralReportCode", _generalReport.Id) }, @" SELECT Max(LogTime) as MaxLogTime FROM logs.reportslogs WHERE reportslogs.GeneralReportCode = ?GeneralReportCode "); if ((lastLogTimes.Count > 0) && (lastLogTimes[0].Length > 0)) { if (lastLogTimes[0][0] is DateTime) { MyCn.Open(); MyCmd.CommandText = @" SELECT LogTime, EMail, SMTPID FROM logs.reportslogs WHERE reportslogs.GeneralReportCode = ?GeneralReportCode and reportslogs.LogTime > ?LastLogTime order by LogTime desc "; MyCmd.Parameters.AddWithValue("?LastLogTime", ((DateTime)lastLogTimes[0][0]).AddDays(-1).Date); var _logs = new DataTable(); MyDA.Fill(_logs); gvLogs.DataSource = _logs; } } gvLogs.DataBind(); MyCmd.Parameters.Clear(); MyCmd.CommandText = @"select rel.StartTime, if (not EndError, rel.EndTime, 'Ошибка при формировании отчета') as EndTime from `logs`.reportexecutelogs rel where rel.GeneralReportCode = ?GeneralReportCode order by StartTime desc limit 15;"; MyCmd.Parameters.AddWithValue("?GeneralReportCode", _generalReport.Id); var startlogs = new DataTable(); MyDA.Fill(startlogs); startLogs.DataSource = startlogs; startLogs.DataBind(); } finally { MyCn.Close(); } chbAllow.Checked = currentTask.Enabled; lblWork.Text = ((ExecAction)currentTask.Definition.Actions[0]).Path + " " + ((ExecAction)currentTask.Definition.Actions[0]).Arguments; lblFolder.Text = ((ExecAction)currentTask.Definition.Actions[0]).WorkingDirectory; if (_generalReport.FirmCode != null) { var ftpId = _generalReport.FirmCode.ToString().PadLeft(3, '0'); FtpPath.Text = $"ftp://ftp.analit.net/OptBox/{ftpId}/Reports/"; } else { FtpPath.Text = ""; } var tl = currentTask.Definition.Triggers; for (int i = 0; i < tl.Count; i++) { if (tl[i] is WeeklyTrigger) { var dr = DS.Tables[dtSchedule.TableName].NewRow(); var trigger = ((WeeklyTrigger)tl[i]); dr[SStartHour.ColumnName] = trigger.StartBoundary.Hour; dr[SStartMinute.ColumnName] = trigger.StartBoundary.Minute; var days = trigger.DaysOfWeek; SetWeekDays(dr, DaysOfTheWeek.Monday, days); SetWeekDays(dr, DaysOfTheWeek.Tuesday, days); SetWeekDays(dr, DaysOfTheWeek.Wednesday, days); SetWeekDays(dr, DaysOfTheWeek.Thursday, days); SetWeekDays(dr, DaysOfTheWeek.Friday, days); SetWeekDays(dr, DaysOfTheWeek.Saturday, days); SetWeekDays(dr, DaysOfTheWeek.Sunday, days); DS.Tables[dtSchedule.TableName].Rows.Add(dr); } else if (tl[i] is MonthlyTrigger) { var dr = DS.Tables[dtScheduleMonth.TableName].NewRow(); //очищаем таблицу от значений по умолчанию for (var k = 1; k <= 31; k++) { dr["d" + k] = 0; } for (var k = 1; k <= 12; k++) { dr["m" + k] = 0; } var trigger = ((MonthlyTrigger)tl[i]); dr[MSStartHour.ColumnName] = trigger.StartBoundary.Hour; dr[MSStartMinute.ColumnName] = trigger.StartBoundary.Minute; var months = trigger.MonthsOfYear; MonthsOfTheYear month; for (int j = 0; j < 12; j++) { MonthsOfTheYear.TryParse((1 << j).ToString(), true, out month); if (months.HasFlag(month)) { dr["m" + (j + 1)] = 1; } } foreach (int em in trigger.DaysOfMonth) { dr["d" + em] = 1; } DS.Tables[dtScheduleMonth.TableName].Rows.Add(dr); } else { otherTriggers.Add(tl[i]); } } DS.Tables[dtSchedule.TableName].AcceptChanges(); dgvSchedule.DataSource = DS; dgvSchedule.DataMember = dtSchedule.TableName; dgvSchedule.DataBind(); dgvScheduleMonth.DataSource = DS; dgvScheduleMonth.DataMember = dtScheduleMonth.TableName; dgvScheduleMonth.DataBind(); gvOtherTriggers.DataSource = otherTriggers; gvOtherTriggers.DataBind(); Session[DSSchedule] = DS; CloseTaskService(); } else { DS = ((DataSet)Session[DSSchedule]); if (DS == null) // вероятно, сессия завершилась и все ее данные утеряны { Reports_GeneralReports.Redirect(this); } } send_created_report.Visible = _generalReport.IsSuccessfulyProcessed; }
private void Page_Load(object sender, System.EventArgs e) { string errors=""; string returnURL=""; string reportName=""; char failed='0'; try { reportLogID = Int32.Parse(Request.QueryString.ToString()); } catch { errors+="Invalid ReportNumber\n<br>"; } string[] strParameterNames=new string[] {}; string[] strParameterValues=new string[] {}; //SqlConnection conn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;Initial Catalog=sefareshat"); SqlConnection conn = new SqlConnection("data source=appserv;initial catalog=sefareshat;password=5tgb;persist security info=True;user id=sefadmin;workstation id=appserv;packet size=4096"); conn.Open(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection=conn; sqlCommand.CommandText="SELECT ReportFileName,ReportParameterNames,ReportParameterValues,ReturnURL FROM ReportLog WHERE ID='"+ reportLogID +"' AND Checked=0"; SqlDataReader dr = sqlCommand.ExecuteReader(); if (dr.Read()) { reportName=dr.GetString(0); report=new GeneralReport(reportName); string tmpParameterNames=dr.GetString(1); string tmpParameterValues=dr.GetString(2); returnURL=dr.GetString(3); if(tmpParameterNames!="") { strParameterNames=tmpParameterNames.Split((char)1); strParameterValues=tmpParameterValues.Split((char)1); } } else { errors+="No such Report\n<br>"; } dr.Close(); try { for (int i=0; i<strParameterNames.Length; i++) { ParameterDiscreteValue discreteVal = new ParameterDiscreteValue (); ParameterField paramField = new ParameterField (); paramField.ParameterFieldName = strParameterNames[i]; discreteVal.Value = strParameterValues[i]; paramField.CurrentValues.Add (discreteVal); parameterFields.Add (paramField); } } catch { errors+="Invalid Report Parameters...\n<br>"; } string printerName=Util.choosePrinter(Request.UserHostAddress,reportName); if(! Print(printerName)) errors+="Cannot Print Report...\n<br>"; if (errors!="") { failed='1'; Response.Write(errors); } sqlCommand.CommandText="UPDATE ReportLog Set Checked='1',Printed='1',Failed='"+failed+"',ErrorDescription=N'"+ Util.sqlSafe(errors) +"',PrinterName='"+ Util.sqlSafe(printerName)+"' WHERE (ID='"+ reportLogID +"') AND (Printed=0) "; sqlCommand.ExecuteNonQuery(); conn.Close(); if (report!=null) report.Dispose(); if (returnURL!="" && errors=="") Response.Redirect(returnURL,true); Response.End(); }