public override List <String> doRule(SQLElement eaElement, SQLWrapperClasses.SQLRepository repository) { List <String> results = new List <string>(); if (eaElement.Stereotype == ECOREModelingMain.EEnumStereotype) { bool foundEnumConstant = false; SQLCollection <SQLAttribute> attributes = eaElement.Attributes; foreach (SQLAttribute attribute in attributes) { if (ConsistencyUtil.isValidConstantName(attribute.Name)) { foundEnumConstant = true; } else { try { Int32.Parse(attribute.Default); foundEnumConstant = true; } catch (FormatException) { //ignore } } } if (!foundEnumConstant) { results.Add("EEnum should contain at least one enum constant consisting of uppercase letters, digits, and underscores with an integer default value."); } } return(results); }
public override void Update() { DB db = new DB("travox_global"); RequestBuilder doExchange = new RequestBuilder("127.0.0.1:3000/API-v3/exchange-rate/"); doExchange.By = RequestBuilder.Method.POST; doExchange.ContentType = "application/x-www-form-urlencoded"; doExchange.AddHeader("Token-Auth", "ZHNnc2RmaCxrZXIgbmFsZ25zIGRmZ2RzZmc"); doExchange.AddBody("from", db.GetField("SELECT ISNULL(currency,'') FROM currency FOR XML PATH('')")); doExchange.AddBody("to", "THB"); doExchange.AddBody("amt", "1"); XHR rate = new XHR().AsyncSend(doExchange).Wait(); try { foreach (RateAPI item in JsonConvert.DeserializeObject<List<RateAPI>>(rate.ToString())) { SQLCollection param = new SQLCollection(); param.Add("@to", DbType.String, item.currency); param.Add("@rate", DbType.Decimal, item.rate); param.Add("@date", DbType.DateTime, DateTime.Parse(item.updated).ToString("dd-MM-yyyy HH:mm:ss")); db.Execute("UPDATE currency SET currency_rate=@rate, last_update=@date WHERE currency = @to", param); } db.Apply(); } catch (Exception e) { db.Rollback(); throw e; } base.Update(); }
private SQLCollection WithBookingPNR(DataRow Row) { SQLCollection param = new SQLCollection(); param.Add("@airline_code", DbType.String, Row["airline_code"]); return(param); }
public async t.Task Initialize() { Tags = new SQLCollection <Tag>(await _sQL.GetTagListAsync()); var getTaskList = _sQL.GetTaskListAsync("True", Tags); var getDailyWeathersData = GetDailyWeathersDataAsync(); Tags.SQLInsertsItem += InsertTag; Tags.SQLRemovesItem += RemoveTag; Tags.SQLUpdatesItem += EditTag; Tasks = new SQLCollection <Task>(await getTaskList); Tasks.SQLInsertsItem += InsertTask; Tasks.SQLRemovesItem += MoveTaskToGarbage; Tasks.SQLUpdatesItem += EditTask; DailyWeathers = await getDailyWeathersData; }
public override void Update() { if (State.CompanyCode == "mos") { DB db = new DB("travox_global"); RequestBuilder doExchange = new RequestBuilder("https://api.travox.com/API-v3/exchange-rate/") { Method = RequestBuilder.By.POST, ContentType = "application/x-www-form-urlencoded" }; doExchange.Headers.Add("Token-Auth", "ZHNnc2RmaCxrZXIgbmFsZ25zIGRmZ2RzZmc"); doExchange.AddBody("from", db.GetField("SELECT ISNULL(currency,'') FROM currency FOR XML PATH('')")); doExchange.AddBody("to", "THB"); doExchange.AddBody("amt", "1"); try { String res = XHR.Request(doExchange, true); foreach (RateAPI item in JsonConvert.DeserializeObject <List <RateAPI> >(res.ToString())) { SQLCollection param = new SQLCollection { { "@to", DbType.String, item.currency }, { "@rate", DbType.Decimal, item.rate }, { "@date", DbType.DateTime, DateTime.Parse(item.updated).ToString("dd-MM-yyyy HH:mm:ss") } }; db.Execute("UPDATE currency SET currency_rate=@rate, last_update=@date WHERE currency = @to", param); } db.Apply(); base.Update(); } catch (Exception e) { db.Rollback(); base.Update(); throw new Exception(base.DBName, e); } } }
public override void Update() { String PatturnRate = @"<item><title>(?<from_desc>.*?)\((?<from>\w{3})\)/(?<to_desc>.*?)\((?<to>\w{3})\).*?</title>.*?"; PatturnRate += @"<pubDate>(?<date>.*?)</pubDate>.*?<description>.*?=.*?(?<rate>[\d|.]+).*?</description>.*?</item>"; String RateRSS = XHR.Connect("thb.fxexchangerate.com/rss.xml"); DB db = new DB("travox_global"); try { foreach (Match item in Regex.Matches(RateRSS.ToString(), PatturnRate, RegexOptions.Singleline)) { String UpdateDate = Regex.Replace(item.Groups["date"].Value, "\r\n", " "); CultureInfo culture = CultureInfo.CurrentCulture; DateTimeStyles style = DateTimeStyles.AssumeUniversal; DateTime date = DateTime.ParseExact(UpdateDate.Trim(), "ddd MMM d yyyy H:m:s UTC", culture, style); SQLCollection param = new SQLCollection(); param.Add("@to", DbType.String, item.Groups["to"].Value.Trim()); param.Add("@to_desc", DbType.String, item.Groups["to_desc"].Value.Trim()); param.Add("@rate", DbType.Decimal, item.Groups["rate"].Value.Trim()); param.Add("@date", DbType.DateTime, date.ToString("dd-MM-yyyy HH:mm:ss")); db.Execute("UPDATE currency SET currency_rate=@rate, last_update=@date WHERE currency = @to", param); } db.Apply(); } catch (Exception e) { db.Rollback(); throw new Exception(e.Message, new Exception(RateRSS.ToString())); } RateRSS = null; base.Update(); }
private void GetPNR(object item) { String StartMonth = DateTime.Now.AddDays(DateTime.Now.Day * -1).ToString("dd-MM-yyyy"); StateTask State = (StateTask)item; SQLCollection param = new SQLCollection("@code", DbType.String, State.DB); param.ANDBetween("TICKET_DATE", "ticket_date", StartMonth, null, DbType.Date); switch (State.Type) { case Business.B2C: State.DB = new DB("travoxb2b_global", State.DNS, "travox").GetField("SELECT name FROM db_initial WHERE wholesale_code = @code ", param); break; case Business.B2B: State.DB = "travoxb2b"; break; } DB GD = new DB(State.DB, State.DNS, "travox"); //foreach (DataRow PNR in GD.GetTable(base.GetResource("GetPNR(view_header).sql"), param).Rows) //{ //param.Add("@booking_info_id", DbType.String ,PNR["ref_id"].ToString()); //String booking_pnr_id = GD.Execute("", WithBookingPNR(PNR)); //param.Add("@booking_pnr_id", DbType.String, booking_pnr_id); // PR_view_header_Item.airline_code = PNR["airline_code"].ToString(); // PR_view_header_Item.airline_name = PNR["airline_name"].ToString(); // PR_view_header_Item.gds = PNR["gds"].ToString(); // PR_view_header_Item.client_deadline = PNR["client_deadline"].ToString(); // PR_view_header_Item.airline_deadline = PNR["airline_deadline"].ToString(); // PR_view_header_Item.ticket_date = PNR["ticket_date"].ToString(); // PR_view_header_Item.operate_by_code = PNR["operate_by_code"].ToString(); // PR_view_header_Item.pnr = PNR["pnr"].ToString(); // PR_view_header_Item.ad_cost = PNR["ad_cost") // PR_view_header_Item.ch_cost = PNR["ch_cost") // PR_view_header_Item.inf_cost = loopHeader // PR_view_header_Item.ad_price = PNR["ad_price") // PR_view_header_Item.ch_price = PNR["ch_price") // PR_view_header_Item.inf_price = loopHeader // PR_view_header_Item.ad_tax = PNR["ad_tax") // PR_view_header_Item.ch_tax = PNR["ch_tax") // PR_view_header_Item.inf_tax = loopHeader // PR_view_header_Item.currency = PNR["currency"].ToString(); // PR_view_header_Item.credit_card_success = PNR["credit_card_success"].ToString(); // PR_view_header_Item.service_charge = PNR["service_charge") // PR_view_header_Item.invoice_name = PNR["invoice_name"].ToString(); // PR_view_header_Item.invoice_address = PNR["invoice_address"].ToString(); // PR_view_header_Item.invoice_district = PNR["invoice_district"].ToString(); // PR_view_header_Item.invoice_province = PNR["invoice_province"].ToString(); // PR_view_header_Item.invoice_postcode = PNR["invoice_postcode"].ToString(); // PR_view_header_Item.invoice_country = PNR["invoice_country"].ToString(); // PR_view_header_Item.invoice_tel = PNR["invoice_tel"].ToString(); // PR_view_header_Item.invoice_fax = PNR["invoice_fax"].ToString(); // PR_view_header_Item.invoice_email = PNR["invoice_email"].ToString(); // PR_view_header_Item.payment_type = PNR["payment_type"] // PR_view_header_Item.agent_name = PNR["agent_name"].ToString(); // PR_view_header_Item.agent_address = PNR["agent_address"].ToString(); // PR_view_header_Item.insurance_code = PNR["insurance_code"].ToString(); // PR_view_header_Item.insurance_price = PNR["insurance_price"].ToString(); // PR_view_header_Item.import_by = schema_name.ToString() // 'PR_view_header.Add(PR_view_header_Item) // iReturn = dtReturn.Rows(0)("ref_id") //} mres[State.ID].Set(); }
public override void Update() { base.Update(); const String CrawlerPath = @"D:\ip1\travox.com\www\crawler\documents\"; const String ViewerPath = @"C:\ip1\travox.com\www\mos\mos_demo\report_viewer\"; SecretaryEvent Period = SecretaryEvent.Unknow; SQLCollection param = new SQLCollection("@id", DbType.Int32, base.State.CompanyID); List<HandlerItem> EventEmail = new List<HandlerItem>(); foreach (DataRow Row in new DB("travox_system").GetTable(base.GetResource("secretary_report.sql"), param).Rows) { ParameterDate SystemDate; switch(Row["period"].ToString()) { case "Daily": Period = SecretaryEvent.Daily; break; case "Weekly": Period = SecretaryEvent.Weekly; break; case "Monthly": Period = SecretaryEvent.Monthly; break; } SystemDate.From = DateTime.Now.Date; SystemDate.To = DateTime.Now.Date; DateTime DateEndMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1); String PeriodDate = ""; String OutputEmailType = Row["output_email"].ToString().Trim(); String OutputPrinter = Row["output_printer"].ToString().Trim(); if (Period == SecretaryEvent.Monthly && DateTime.Now.Date == DateEndMonth) { PeriodDate = SystemDate.From.ToString("yyyy"); SystemDate.From = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); SystemDate.To = DateEndMonth; } else if (Period == SecretaryEvent.Weekly && DateTime.Now.DayOfWeek == DayOfWeek.Sunday) { PeriodDate = SystemDate.From.ToString("MM-yyyy"); SystemDate.From = SystemDate.From.AddDays(-7); } else if (Period == SecretaryEvent.Daily) { PeriodDate = SystemDate.From.ToString("dd-MM-yyyy"); } else { Period = SecretaryEvent.Unknow; } if ((!MBOS.Null(OutputEmailType) || MBOS.Bool(OutputPrinter)) && Period != SecretaryEvent.Unknow) { RequestBuilder ReportViewer = new RequestBuilder((!App.DebugMode) ? "mos.travox.com/mos_v2/report_viewer/default.aspx" : "localhost:8026/Default.aspx"); ReportViewer.By = RequestBuilder.Method.POST; ReportViewer.SetCookie("ASP.NET_SessionId", "xxxxxxxxxxxxxxxxxxxxxxxx"); ReportViewer.SetCookie("COMPANY_ACCESS", base.State.CompanyCode); ReportViewer.SetCookie("ID", "-4"); ReportViewer.SetCookie("Code", "TX"); ReportViewer.SetCookie("Name", "Travox Sentinel"); //ReportViewer.POST("ItemType", JSON.Serialize<ItemType>(new ItemType { ExportType = OutputEmailType })); //ReportViewer.POST("Report", JSON.Serialize<ItemReport>(new ItemReport { Name = Row["report_key"].ToString(), Filename = Row["report_key"].ToString() + ".rpt" })); ReportViewer.AddBody("period_begin", SystemDate.From.ToString("dd-MM-yyyy")); ReportViewer.AddBody("period_end", SystemDate.To.ToString("dd-MM-yyyy")); param.Add("@s_id", DbType.Int32, Row["secretary_id"].ToString()); param.Add("@name", DbType.String, Row["report_name"].ToString()); param.Add("@email", DbType.String, Row["email"].ToString()); param.Add("@code", DbType.String, base.State.CompanyCode); param.Add("@file", DbType.String, null); String[] ArgsString = { Row["period"].ToString(), PeriodDate, Row["report_name"].ToString() }; HandlerItem Item = new HandlerItem(); Item.Subject = String.Format("Secretary({0} {1}) Report of \"{2}\"", ArgsString); Item.OnEmail = !MBOS.Null(OutputEmailType); Item.OnPrinter = MBOS.Bool(OutputPrinter); Item.Mail = Row["email"].ToString(); Item.Ajax = ReportViewer; EventEmail.Add(Item); } } foreach (HandlerItem Item in EventEmail) { //CallbackException data = JSON.Deserialize<CallbackException>(XHR.Connect(Item.Ajax)); CallbackException data = new CallbackException(); String getItems = Regex.Match(data.getItems, @"[\\|/]Temp[\\|/](?<path>.*)").Groups["path"].Value; String AttachFile = null; if (!data.onError) { String FolderName = Path.GetDirectoryName(CrawlerPath + getItems) + "\\"; String FileName = Path.GetFileName(getItems); if (!App.DebugMode) { if (Directory.Exists(FolderName)) Directory.CreateDirectory(FolderName); File.Copy(ViewerPath + data.getItems, FolderName + FileName); File.Delete(ViewerPath + data.getItems); AttachFile = FolderName + FileName; } else { AttachFile = @"D:\Travox Mid-Back\TravoxViewer\TravoxViewer\Temp\" + getItems; } } if (Item.OnEmail) { DB db = new DB("travox_system"); NameValueCollection MailParam = new NameValueCollection(); TypeMAIL ReportSecretary = new TypeMAIL("*****@*****.**", Item.Subject, false); ReportSecretary.Add(Item.Mail); ReportSecretary.Body(base.GetResource("MailTemplate.html")); String SQL = db.Execute("INSERT INTO crawler.secretary_email (secretary_id, company_code, report_name, email) VALUES (@s_id, @code, @name, @email)", param); MailParam.Add("message_email", data.exMessage); MailParam.Add("print_date", DateTime.Now.Date.ToString("dd-MM-yyyy")); if (!data.onError && data.exTitle != "ManualException") { ReportSecretary.Attach(AttachFile); param["@file"].DefaultValue = getItems; } else { param["@file"].DefaultValue = data.exMessage; } param.Add("@e_id", DbType.Int32, SQL); db.Execute("UPDATE crawler.secretary_email SET filename=@file WHERE email_id=@e_id", param); ReportSecretary.DataSource(MailParam); if (!ReportSecretary.Sending()) { param["@file"].DefaultValue = ReportSecretary.ErrorMessage; db.Execute("UPDATE crawler.secretary_email SET filename=@file WHERE email_id=@e_id", param); } db.Apply(); } if (Item.OnPrinter) { } } param = null; EventEmail = null; Console.WriteLine("{0} Updated", base.State.DatabaseName); }
public override void Update() { base.Update(); const String ViewerPath = @"C:\inetpub\wwwroot\travox.com\viewer\"; SecretaryEvent Period = SecretaryEvent.Unknow; SQLCollection param = new SQLCollection("@id", DbType.Int32, base.State.CompanyID); foreach (DataRow Row in new DB("travox_system").GetTable(@" SELECT secretary_id, period, output_email, output_printer, email, report_name, report_key, template_name FROM crawler.secretary s LEFT JOIN document.report r ON r.report_id = s.report_id WHERE s.status = 'ACTIVE' AND (site_customer_id = @id OR site_customer_id IS NULL) ", param).Rows) { ParameterDate SystemDate; switch (Row["period"].ToString()) { case "Daily": Period = SecretaryEvent.Daily; break; case "Weekly": Period = SecretaryEvent.Weekly; break; case "Monthly": Period = SecretaryEvent.Monthly; break; } SystemDate.From = DateTime.Now.Date; SystemDate.To = DateTime.Now.Date; DateTime DateEndMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1).AddMonths(1).AddDays(-1); String OutputEmailType = Row["output_email"].ToString().Trim(); String OutputPrinter = Row["output_printer"].ToString().Trim(); if (Period == SecretaryEvent.Monthly && (DateTime.Now.Date == DateEndMonth || App.DebugMode)) { SystemDate.From = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); SystemDate.To = DateEndMonth; } else if (Period == SecretaryEvent.Weekly && (DateTime.Now.DayOfWeek == DayOfWeek.Sunday || App.DebugMode)) { SystemDate.From = SystemDate.To.AddDays(-7); } else if (Period == SecretaryEvent.Daily) { } else { Period = SecretaryEvent.Unknow; } if ((!MBOS.Null(OutputEmailType) || MBOS.Bool(OutputPrinter)) && Period != SecretaryEvent.Unknow) { RequestBuilder ReportViewer = new RequestBuilder(App.DebugMode ? "https://viewer.travox.com/default.aspx" : "http://localhost:8026/Default.aspx") { Method = RequestBuilder.By.POST, ContentType = "application/json" }; ReportViewer.Headers.Add("Travox-Sentinel", "true"); ReportViewer.SetCookie("ASP.NET_SessionId", SessionID); ReportViewer.SetCookie("DATABASE_NAME", base.State.DatabaseName); ReportViewer.SetCookie("CUSTOMER_CODE", base.State.CompanyCode); ReportViewer.SetCookie("STAFF_ID", "-4"); ReportViewer.SetCookie("STAFF_CODE", "TX"); ReportViewer.SetCookie("REMEMBER", "true"); ReportViewer.RawBody.Append(JsonConvert.SerializeObject(new HandlerItem { OnEmail = !MBOS.Null(OutputEmailType), OnPrinter = MBOS.Bool(OutputPrinter), ID = Row["secretary_id"].ToString(), Email = Row["email"].ToString(), Period = Row["period"].ToString(), TemplateName = Row["template_name"].ToString(), PeriodDate = SystemDate, ItemType = new ItemType { ExportType = OutputEmailType }, Report = new ItemReport { Name = Row["report_key"].ToString(), Filename = Row["report_key"].ToString() + ".rpt" } })); String ex = XHR.Request(ReportViewer, true); if (!MBOS.Null(ex)) { Console.WriteLine(base.State.CompanyCode + " --- " + Row["template_name"].ToString()); Console.WriteLine(ex); } } } }
private void GetPNR(object item) { String StartMonth = DateTime.Now.AddDays(DateTime.Now.Day * -1).ToString("dd-MM-yyyy"); StateTask State = (StateTask)item; SQLCollection param = new SQLCollection("@code", DbType.String, State.DB); param.ANDBetween("TICKET_DATE", "ticket_date", StartMonth, null, DbType.Date); switch(State.Type) { case Business.B2C: State.DB = new DB("travoxb2b_global", State.DNS, "travox").GetField("SELECT name FROM db_initial WHERE wholesale_code = @code ", param); break; case Business.B2B: State.DB = "travoxb2b"; break; } DB GD = new DB(State.DB, State.DNS, "travox"); foreach (DataRow PNR in GD.GetTable(base.GetResource("GetPNR(view_header).sql"), param).Rows) { param.Add("@booking_info_id", DbType.String ,PNR["ref_id"].ToString()); String booking_pnr_id = GD.Execute("", WithBookingPNR(PNR)); param.Add("@booking_pnr_id", DbType.String, booking_pnr_id); // PR_view_header_Item.airline_code = PNR["airline_code"].ToString(); // PR_view_header_Item.airline_name = PNR["airline_name"].ToString(); // PR_view_header_Item.gds = PNR["gds"].ToString(); // PR_view_header_Item.client_deadline = PNR["client_deadline"].ToString(); // PR_view_header_Item.airline_deadline = PNR["airline_deadline"].ToString(); // PR_view_header_Item.ticket_date = PNR["ticket_date"].ToString(); // PR_view_header_Item.operate_by_code = PNR["operate_by_code"].ToString(); // PR_view_header_Item.pnr = PNR["pnr"].ToString(); // PR_view_header_Item.ad_cost = PNR["ad_cost") // PR_view_header_Item.ch_cost = PNR["ch_cost") // PR_view_header_Item.inf_cost = loopHeader // PR_view_header_Item.ad_price = PNR["ad_price") // PR_view_header_Item.ch_price = PNR["ch_price") // PR_view_header_Item.inf_price = loopHeader // PR_view_header_Item.ad_tax = PNR["ad_tax") // PR_view_header_Item.ch_tax = PNR["ch_tax") // PR_view_header_Item.inf_tax = loopHeader // PR_view_header_Item.currency = PNR["currency"].ToString(); // PR_view_header_Item.credit_card_success = PNR["credit_card_success"].ToString(); // PR_view_header_Item.service_charge = PNR["service_charge") // PR_view_header_Item.invoice_name = PNR["invoice_name"].ToString(); // PR_view_header_Item.invoice_address = PNR["invoice_address"].ToString(); // PR_view_header_Item.invoice_district = PNR["invoice_district"].ToString(); // PR_view_header_Item.invoice_province = PNR["invoice_province"].ToString(); // PR_view_header_Item.invoice_postcode = PNR["invoice_postcode"].ToString(); // PR_view_header_Item.invoice_country = PNR["invoice_country"].ToString(); // PR_view_header_Item.invoice_tel = PNR["invoice_tel"].ToString(); // PR_view_header_Item.invoice_fax = PNR["invoice_fax"].ToString(); // PR_view_header_Item.invoice_email = PNR["invoice_email"].ToString(); // PR_view_header_Item.payment_type = PNR["payment_type"] // PR_view_header_Item.agent_name = PNR["agent_name"].ToString(); // PR_view_header_Item.agent_address = PNR["agent_address"].ToString(); // PR_view_header_Item.insurance_code = PNR["insurance_code"].ToString(); // PR_view_header_Item.insurance_price = PNR["insurance_price"].ToString(); // PR_view_header_Item.import_by = schema_name.ToString() // 'PR_view_header.Add(PR_view_header_Item) // iReturn = dtReturn.Rows(0)("ref_id") } mres[State.ID].Set(); }
private SQLCollection WithBookingPNR(DataRow Row) { SQLCollection param = new SQLCollection(); param.Add("@airline_code", DbType.String, Row["airline_code"]); return param; }