public DataSource(string name, DataSourceTypes sourceType, DbHelpClassTypes dbHelpType, string connectionString) { _Name = name; _SourceType = sourceType; _DbHelpType = dbHelpType; _ConnectionString = connectionString; _Attributes = new StringCollection(); }
public static T_ErrorDesc GetErrorLog(DataBaseResultSet DBSet, DataSourceTypes DST, string sXmlData) { T_ErrorDesc objData = new T_ErrorDesc(); objData.CategoryId = 0; objData.ClientIPAddress = string.Empty; objData.EmpNo = string.Empty; objData.ErrorData = sXmlData; objData.ErrorDate = DateTime.Now; objData.ErrorId = DBSet.ErrorCode; objData.ErrorLineNo = 0; objData.ErrorMsg = DBSet.ErrorMessage; objData.ErrorType = "Database Error"; objData.EventCode = 0; objData.MethodCode = (int)DST; objData.MethodName = DST.ToString(); objData.MethodTrace = string.Empty; objData.PageCode = 0; objData.PageName = string.Empty; return(objData); }
public CustomChooseDataSourceTypePageView(DataSourceTypes dataSourceTypes) : base(dataSourceTypes) { }
public DataBaseResultSet Save <T>(DataSourceTypes DataSourceTypes, T objFilter) where T : class, IModel, new() { DataBaseResultSet nResult = new DataBaseResultSet(); switch (DataSourceTypes) { case Common.DataSourceTypes.T_ErrorDescSave: nResult = objDAL.SaveT_ErrorDesc(objFilter); break; case Common.DataSourceTypes.T_MstAccountSave: nResult = objDAL.SaveT_MstAccount(objFilter); break; case Common.DataSourceTypes.T_MstAccountMasterSave: nResult = objDAL.SaveT_MstAccountMaster(objFilter); break; case Common.DataSourceTypes.T_MstBrokerSave: nResult = objDAL.SaveT_MstBroker(objFilter); break; case Common.DataSourceTypes.T_MstCheckerSave: nResult = objDAL.SaveT_MstChecker(objFilter); break; case Common.DataSourceTypes.T_MstCompanySave: nResult = objDAL.SaveT_MstCompany(objFilter); break; case Common.DataSourceTypes.T_MstFinancialYearSave: nResult = objDAL.SaveT_MstFinancialYear(objFilter); break; case Common.DataSourceTypes.T_MstGroupSave: nResult = objDAL.SaveT_MstGroup(objFilter); break; case Common.DataSourceTypes.T_MstQualitySave: nResult = objDAL.SaveT_MstQuality(objFilter); break; case Common.DataSourceTypes.T_MstRoleSave: nResult = objDAL.SaveT_MstRole(objFilter); break; case Common.DataSourceTypes.T_MstTransportSave: nResult = objDAL.SaveT_MstTransport(objFilter); break; case Common.DataSourceTypes.T_MstWeaverSave: nResult = objDAL.SaveT_MstWeaver(objFilter); break; case Common.DataSourceTypes.T_TranCashSave: nResult = objDAL.SaveT_TranCash(objFilter); break; case Common.DataSourceTypes.T_TranJournalSave: nResult = objDAL.SaveT_TranJournal(objFilter); break; case Common.DataSourceTypes.T_TranPurchaseOrderSave: nResult = objDAL.SaveT_TranPurchaseOrder(objFilter); break; case Common.DataSourceTypes.T_TranSalesBillSave: nResult = objDAL.SaveT_TranSalesBill(objFilter); break; case Common.DataSourceTypes.T_TranSalesOrderSave: nResult = objDAL.SaveT_TranSalesOrder(objFilter); break; } if (nResult.ErrorCode != 0) { checkAndWriteDatabaseException <T>(objFilter, nResult, DataSourceTypes); } return(nResult); }
private void checkAndWriteDatabaseException <T>(T objData, DataBaseResultSet DBSet, DataSourceTypes DST) where T : class, IModel, new() { T_ErrorDesc objErrorData = WriteServiceErrorLog.GetErrorLog(DBSet, DST, objData.GetXmlString()); string sMsg = string.Empty; DataBaseResultSet DBSetSaveError = objDAL.SaveT_ErrorDesc(objData); }
public List <T> GetList <T>(DataSourceTypes DataSourceTypes, T objFilter) where T : class, IModel, new() { List <T> list = new List <T>(); switch (DataSourceTypes) { case Common.DataSourceTypes.T_ErrorDescList: objDAL.GetListT_ErrorDesc(objFilter, ref list); break; case Common.DataSourceTypes.T_MstAccountList: objDAL.GetListT_MstAccount(objFilter, ref list); break; case Common.DataSourceTypes.T_MstAccountMasterList: objDAL.GetListT_MstAccountMaster(objFilter, ref list); break; case Common.DataSourceTypes.T_MstBrokerList: objDAL.GetListT_MstBroker(objFilter, ref list); break; case Common.DataSourceTypes.T_MstCheckerList: objDAL.GetListT_MstChecker(objFilter, ref list); break; case Common.DataSourceTypes.T_MstCompanyList: objDAL.GetListT_MstCompany(objFilter, ref list); break; case Common.DataSourceTypes.T_MstCompanyDropdownList: objDAL.GetListT_MstCompanyForDropDown(objFilter, ref list); break; case Common.DataSourceTypes.T_MstFinancialYearList: objDAL.GetListT_MstFinancialYear(objFilter, ref list); break; case Common.DataSourceTypes.T_MstGroupList: objDAL.GetListT_MstGroup(objFilter, ref list); break; case Common.DataSourceTypes.T_MstQualityList: objDAL.GetListT_MstQuality(objFilter, ref list); break; case Common.DataSourceTypes.T_MstRoleList: objDAL.GetListT_MstRole(objFilter, ref list); break; case Common.DataSourceTypes.T_MstTransportList: objDAL.GetListT_MstTransport(objFilter, ref list); break; case Common.DataSourceTypes.T_MstWeaverList: objDAL.GetListT_MstWeaver(objFilter, ref list); break; case Common.DataSourceTypes.T_TranCashList: objDAL.GetListT_TranCash(objFilter, ref list); break; case Common.DataSourceTypes.T_TranJournalList: objDAL.GetListT_TranJournal(objFilter, ref list); break; case Common.DataSourceTypes.T_TranPurchaseOrderList: objDAL.GetListT_TranPurchaseOrder(objFilter, ref list); break; case Common.DataSourceTypes.T_TranSalesBillList: objDAL.GetListT_TranSalesBill(objFilter, ref list); break; case Common.DataSourceTypes.T_TranSalesOrderList: objDAL.GetListT_TranSalesOrder(objFilter, ref list); break; case Common.DataSourceTypes.T_PrimKeyValuesList: objDAL.GetListT_PrimKeyValues(objFilter, ref list); break; } return(list); }
public DataBaseResultSet Save <T>(DataSourceTypes DataSourceTypes, T objFilter) where T : class, IModel, new() { DataBaseResultSet nResult = new DataBaseResultSet(); switch (DataSourceTypes) { case Common.DataSourceTypes.SalesDetailSave: nResult = objDAL.SaveSalesDetail(objFilter); break; case Common.DataSourceTypes.AreaMasterSave: nResult = objDAL.SaveAreaMaster(objFilter); break; case Common.DataSourceTypes.oVatDetailSave: nResult = objDAL.SaveoVatDetail(objFilter); break; case Common.DataSourceTypes.AutoSetupSave: nResult = objDAL.SaveAutoSetup(objFilter); break; case Common.DataSourceTypes.CustomerMasterSave: nResult = objDAL.SaveCustomerMaster(objFilter); break; case Common.DataSourceTypes.ErrorDescSave: nResult = objDAL.SaveErrorDesc(objFilter); break; case Common.DataSourceTypes.DoctorMasterSave: nResult = objDAL.SaveDoctorMaster(objFilter); break; case Common.DataSourceTypes.FirmMasterSave: nResult = objDAL.SaveFirmMaster(objFilter); break; case Common.DataSourceTypes.DiseaseDetailSave: nResult = objDAL.SaveDiseaseDetail(objFilter); break; case Common.DataSourceTypes.AdjDetailSave: nResult = objDAL.SaveAdjDetail(objFilter); break; case Common.DataSourceTypes.ShiftMasterSave: nResult = objDAL.SaveShiftMaster(objFilter); break; case Common.DataSourceTypes.DiseaseMasterSave: nResult = objDAL.SaveDiseaseMaster(objFilter); break; case Common.DataSourceTypes.CrDrDetailSave: nResult = objDAL.SaveCrDrDetail(objFilter); break; case Common.DataSourceTypes.VatDetailSave: nResult = objDAL.SaveVatDetail(objFilter); break; case Common.DataSourceTypes.GroupMasterSave: nResult = objDAL.SaveGroupMaster(objFilter); break; case Common.DataSourceTypes.MapProductSave: nResult = objDAL.SaveMapProduct(objFilter); break; case Common.DataSourceTypes.OldBillMasterSave: nResult = objDAL.SaveOldBillMaster(objFilter); break; case Common.DataSourceTypes.XDetailSave: nResult = objDAL.SaveXDetail(objFilter); break; case Common.DataSourceTypes.OrderDetailSave: nResult = objDAL.SaveOrderDetail(objFilter); break; case Common.DataSourceTypes.DeletedDetailSave: nResult = objDAL.SaveDeletedDetail(objFilter); break; case Common.DataSourceTypes.TallyMasterSave: nResult = objDAL.SaveTallyMaster(objFilter); break; case Common.DataSourceTypes.OBillMasterSave: nResult = objDAL.SaveOBillMaster(objFilter); break; case Common.DataSourceTypes.BranchStockSave: nResult = objDAL.SaveBranchStock(objFilter); break; case Common.DataSourceTypes.XMasterSave: nResult = objDAL.SaveXMaster(objFilter); break; case Common.DataSourceTypes.oBatchMasterSave: nResult = objDAL.SaveoBatchMaster(objFilter); break; case Common.DataSourceTypes.AccountMasterSave: nResult = objDAL.SaveAccountMaster(objFilter); break; case Common.DataSourceTypes.CityMasterSave: nResult = objDAL.SaveCityMaster(objFilter); break; case Common.DataSourceTypes.OrderMasterSave: nResult = objDAL.SaveOrderMaster(objFilter); break; case Common.DataSourceTypes.CompanyDetailSave: nResult = objDAL.SaveCompanyDetail(objFilter); break; case Common.DataSourceTypes.MiscRcptPmtSave: nResult = objDAL.SaveMiscRcptPmt(objFilter); break; case Common.DataSourceTypes.CategoryMasterSave: nResult = objDAL.SaveCategoryMaster(objFilter); break; case Common.DataSourceTypes.CompanyMasterSave: nResult = objDAL.SaveCompanyMaster(objFilter); break; case Common.DataSourceTypes.PurDetailSave: nResult = objDAL.SavePurDetail(objFilter); break; case Common.DataSourceTypes.ConfigSave: nResult = objDAL.SaveConfig(objFilter); break; case Common.DataSourceTypes.GenericMasterSave: nResult = objDAL.SaveGenericMaster(objFilter); break; case Common.DataSourceTypes.SalesManMasterSave: nResult = objDAL.SaveSalesManMaster(objFilter); break; case Common.DataSourceTypes.BillMasterSave: nResult = objDAL.SaveBillMaster(objFilter); break; case Common.DataSourceTypes.ProductMasterSave: nResult = objDAL.SaveProductMaster(objFilter); break; case Common.DataSourceTypes.OtherAddSave: nResult = objDAL.SaveOtherAdd(objFilter); break; case Common.DataSourceTypes.PatientMasterSave: nResult = objDAL.SavePatientMaster(objFilter); break; case Common.DataSourceTypes.BatchMasterSave: nResult = objDAL.SaveBatchMaster(objFilter); break; case Common.DataSourceTypes.PreFormatSave: nResult = objDAL.SavePreFormat(objFilter); break; case Common.DataSourceTypes.UserMasterSave: nResult = objDAL.SaveUserMaster(objFilter); break; case Common.DataSourceTypes.PrintFormatSave: nResult = objDAL.SavePrintFormat(objFilter); break; case Common.DataSourceTypes.ReceivePaymentSave: nResult = objDAL.SaveReceivePayment(objFilter); break; case Common.DataSourceTypes.AddressBookSave: nResult = objDAL.SaveAddressBook(objFilter); break; } if (nResult.ErrorCode != 0) { checkAndWriteDatabaseException <T>(objFilter, nResult, DataSourceTypes); } return(nResult); }
public List <T> GetList <T>(DataSourceTypes DataSourceTypes, T objFilter) where T : class, IModel, new() { List <T> list = new List <T>(); switch (DataSourceTypes) { case Common.DataSourceTypes.SalesDetailList: objDAL.GetListSalesDetail(objFilter, ref list); break; case Common.DataSourceTypes.AreaMasterList: objDAL.GetListAreaMaster(objFilter, ref list); break; case Common.DataSourceTypes.oVatDetailList: objDAL.GetListoVatDetail(objFilter, ref list); break; case Common.DataSourceTypes.AutoSetupList: objDAL.GetListAutoSetup(objFilter, ref list); break; case Common.DataSourceTypes.CustomerMasterList: objDAL.GetListCustomerMaster(objFilter, ref list); break; case Common.DataSourceTypes.ErrorDescList: objDAL.GetListErrorDesc(objFilter, ref list); break; case Common.DataSourceTypes.DoctorMasterList: objDAL.GetListDoctorMaster(objFilter, ref list); break; case Common.DataSourceTypes.FirmMasterList: objDAL.GetListFirmMaster(objFilter, ref list); break; case Common.DataSourceTypes.DiseaseDetailList: objDAL.GetListDiseaseDetail(objFilter, ref list); break; case Common.DataSourceTypes.AdjDetailList: objDAL.GetListAdjDetail(objFilter, ref list); break; case Common.DataSourceTypes.ShiftMasterList: objDAL.GetListShiftMaster(objFilter, ref list); break; case Common.DataSourceTypes.DiseaseMasterList: objDAL.GetListDiseaseMaster(objFilter, ref list); break; case Common.DataSourceTypes.CrDrDetailList: objDAL.GetListCrDrDetail(objFilter, ref list); break; case Common.DataSourceTypes.VatDetailList: objDAL.GetListVatDetail(objFilter, ref list); break; case Common.DataSourceTypes.GroupMasterList: objDAL.GetListGroupMaster(objFilter, ref list); break; case Common.DataSourceTypes.MapProductList: objDAL.GetListMapProduct(objFilter, ref list); break; case Common.DataSourceTypes.OldBillMasterList: objDAL.GetListOldBillMaster(objFilter, ref list); break; case Common.DataSourceTypes.XDetailList: objDAL.GetListXDetail(objFilter, ref list); break; case Common.DataSourceTypes.OrderDetailList: objDAL.GetListOrderDetail(objFilter, ref list); break; case Common.DataSourceTypes.DeletedDetailList: objDAL.GetListDeletedDetail(objFilter, ref list); break; case Common.DataSourceTypes.TallyMasterList: objDAL.GetListTallyMaster(objFilter, ref list); break; case Common.DataSourceTypes.OBillMasterList: objDAL.GetListOBillMaster(objFilter, ref list); break; case Common.DataSourceTypes.BranchStockList: objDAL.GetListBranchStock(objFilter, ref list); break; case Common.DataSourceTypes.XMasterList: objDAL.GetListXMaster(objFilter, ref list); break; case Common.DataSourceTypes.oBatchMasterList: objDAL.GetListoBatchMaster(objFilter, ref list); break; case Common.DataSourceTypes.AccountMasterList: objDAL.GetListAccountMaster(objFilter, ref list); break; case Common.DataSourceTypes.CityMasterList: objDAL.GetListCityMaster(objFilter, ref list); break; case Common.DataSourceTypes.OrderMasterList: objDAL.GetListOrderMaster(objFilter, ref list); break; case Common.DataSourceTypes.CompanyDetailList: objDAL.GetListCompanyDetail(objFilter, ref list); break; case Common.DataSourceTypes.MiscRcptPmtList: objDAL.GetListMiscRcptPmt(objFilter, ref list); break; case Common.DataSourceTypes.CategoryMasterList: objDAL.GetListCategoryMaster(objFilter, ref list); break; case Common.DataSourceTypes.CompanyMasterList: objDAL.GetListCompanyMaster(objFilter, ref list); break; case Common.DataSourceTypes.PurDetailList: objDAL.GetListPurDetail(objFilter, ref list); break; case Common.DataSourceTypes.ConfigList: objDAL.GetListConfig(objFilter, ref list); break; case Common.DataSourceTypes.GenericMasterList: objDAL.GetListGenericMaster(objFilter, ref list); break; case Common.DataSourceTypes.SalesManMasterList: objDAL.GetListSalesManMaster(objFilter, ref list); break; case Common.DataSourceTypes.BillMasterList: objDAL.GetListBillMaster(objFilter, ref list); break; case Common.DataSourceTypes.ProductMasterList: objDAL.GetListProductMaster(objFilter, ref list); break; case Common.DataSourceTypes.GetAllListProduct: objDAL.GetAllListProduct(objFilter, ref list); break; case Common.DataSourceTypes.OtherAddList: objDAL.GetListOtherAdd(objFilter, ref list); break; case Common.DataSourceTypes.PatientMasterList: objDAL.GetListPatientMaster(objFilter, ref list); break; case Common.DataSourceTypes.BatchMasterList: objDAL.GetListBatchMaster(objFilter, ref list); break; case Common.DataSourceTypes.BatchMasterListByProductCode: objDAL.GetListBatchMasterByProductCode(objFilter, ref list); break; case Common.DataSourceTypes.PreFormatList: objDAL.GetListPreFormat(objFilter, ref list); break; case Common.DataSourceTypes.UserMasterList: objDAL.GetListUserMaster(objFilter, ref list); break; case Common.DataSourceTypes.PrintFormatList: objDAL.GetListPrintFormat(objFilter, ref list); break; case Common.DataSourceTypes.ReceivePaymentList: objDAL.GetListReceivePayment(objFilter, ref list); break; case Common.DataSourceTypes.AddressBookList: objDAL.GetListAddressBook(objFilter, ref list); break; } return(list); }
public XafDashboardChooseDataSourceTypePageView(ISupportedDataSourceTypesService dataSourceTypesService, DataSourceTypes dataSourceTypes) : base(dataSourceTypesService, dataSourceTypes) { //TODO: Localize if (Controls.Find("dataSourceTypesListBox", true).FirstOrDefault() is ListBoxControl listbox) { listbox.Items.Add(new CheckedListBoxItem { Value = XAFDataSourceType.XAF, Description = CaptionHelper.GetLocalizedText("Captions", "XafObjectDataSource"), Tag = CaptionHelper.GetLocalizedText("Captions", "ObjectDataSourceWithXafPersistentTypes") }); listbox.Items.Add(new CheckedListBoxItem { Value = SenDevDataSourceType.Script, Description = "C# Script data source", //CaptionHelper.GetLocalizedText("Captions", "XafObjectDataSource"), Tag = "C#" //CaptionHelper.GetLocalizedText("Captions", "ObjectDataSourceWithXafPersistentTypes") }); listbox.Items.Add(new CheckedListBoxItem { Value = SenDevDataSourceType.XafDataExtract, Description = "XAF Data Extract", //CaptionHelper.GetLocalizedText("Captions", "XafObjectDataSource"), Tag = "Preprocessed data extract" //CaptionHelper.GetLocalizedText("Captions", "ObjectDataSourceWithXafPersistentTypes") }); } }
public CustomChooseReportTypePage(IChooseReportTypePageView view, IConnectionStorageService connectionStorageService, DataSourceTypes dataSourceTypes, IWizardRunnerContext context, ISolutionTypesProvider solutionTypesProvider) : base(view, connectionStorageService, dataSourceTypes, context, solutionTypesProvider) { }
public MainModule() { #region general instructions /* Uses NancyFx 2.0 (new syntax) * * Create a GET method similar to: * Get("/path/path...", parms => * { * string jsonText = ""; * // do logic here * // serialize desired result to json format * return (Response)jsonText; * }); * * * To put parameters in path segments: * Surround path segments with braces: * ex: Get["/path/{aaa}/{bbb}"] = parms => {....} * In code, refer to parms.aaa, parms.bbb, etc. * * To put parameters at end of url: * Add to url: ?xxx=yyy&aaa=bbb, etc. * ex: Get["/path?cust=aaa&order=bbb"] = parms => {....} * In code, refer to Request.Query.cust, Request.Query.order, etc. * (if specific item requested is not in the url, it will be null) * You can also verify by Request.Query.item.HasValue, which returns true or false. * You can also iterate these parameters: * foreach (var parm in Request.Query) * In this case, "parm" will contain the name of the parameter * and Request.Query[parm] will be the value of the parameter. * * All parameters passed in (except for ip=, db=, table=, procedure=, orderby= and columns=) are considered * to be filters used to select data. They are converted to Filter objects (see Filter class in DataAccess.cs). * they are collected in a List<Filter> so they can be passed into the DataAccess.GetData method. * * To SELECT from table or stored procedure, create url similar to: * http://localhost:8080/select/?ip=192.168.1.18&db=Access&table=tblNAMembers&NAID=equal:431 * Call select function like this: * using (var client = new HttpClient()) * { * var json = await client.GetStringAsync(url); * DataTable dt = DeserializeDataTable(json); * } * Expect a serialized DataTable to be returned, containing record(s) requested. * Note: This code uses Newtonsoft Json.Net for serialization/deserialization. * Feel free to use another technique if wanted. If you use Json.Net, * make sure you include the DataTableConverter class in Converters.cs * as I have made some changes to the Newtonsoft version to fix issues. * * * To INSERT, UPDATE or DELETE, created a url similar to: * http://localhost:8080/insert?ip=192.168.1.18&db=Access * http://localhost:8080/update?ip=192.168.1.18&db=Access * http://localhost:8080/delete?ip=192.168.1.18&db=Access * You must also include a serialized 1-record DataTable as payload, containing the particular * record to be INSERTed, UPDATEd or DELETEd. * Call insert, update or delete methods like this: * Assume you have a 1-record DataTable (dt), with the record being worked on. * var json = SerializeDataTable(dt); * var data = new StringContent(json, Encoding.UTF8, "application/json"); * var response = await client.PostAsync(url, data); * string result = response.Content.ReadAsStringAsync().Result; * dt = DeserializeDataTable(result); * For insert or update, dt will contain the record updated or inserted, * including new AutoIncrement key value if appropriate. * For delete, (NEED TO FIGURE THIS OUT) */ #endregion string json; DbFlavors dbFlavor; DataSourceTypes dsType = DataSourceTypes.table; List <Filter> filters = new List <Filter>(); List <string> errors = new List <string>(); string dbColumns = string.Empty; string dsName = string.Empty; string orderBy = string.Empty; string clientIp = string.Empty; string msg = string.Empty; bool isOK; #region handle missing or invalid path Get("/", parms => { msg = $"Missing path in URL: {Request.Url.ToString()}"; json = GetJsonHelp(Formatting.Indented); json = DataAccess.InsertJsonProperties(json, Formatting.Indented, "status", "error", "reason", msg); Logger.LogError($"Missing path in URL: {Request.Url.ToString()}", "MainModule Routing"); return((Response)json); }); Get("/{parm1}", parms => { var path = Request.Path.Substring(1); msg = $"Invalid path '{path}' in URL: {Request.Url.ToString()}"; if (path != "favicon.ico") { Logger.LogError(msg, "MainModule Routing"); } json = GetJsonHelp(Formatting.Indented); json = DataAccess.InsertJsonProperties(json, Formatting.Indented, "status", "error", "reason", msg); return((Response)json); }); #endregion #region help Get("help", parms => { Logger.LogInfo("Help requested", "MainModule.Get(\"help\")"); json = GetJsonHelp(Formatting.Indented); return((Response)json); }); #endregion #region SELECT instructions /* * Select from table or stored procedure * Ex: Access request: http://localhost:8080/select/?ip=192.168.1.18&db=Access&table=tblNAMembers&NAID=equal:431 * MySql request: http://localhost:8080/select/?ip=192.168.1.18&db=MySql&procedure=get_members&ID=eq:431 * - path must be: select * - must have ?ip= * - must have &db=[Access|Sql|MySql] * - must have &table= or &procedure= * - note: stored procedures don't work well with Access * - if table, may have orderby=col[desc][,col[desc] ...] (ignored for stored procedures) * - if table, may have columns=col,col... (ignored for stored procedures) * - if columns parameter has column names, those columns will be selected * - if missing or no column names, all columns will be selected * - filter parameters are optional * - if table, filter format is : colName=operator:value,... * - if table, operators are: less, lessorequal, equal, notequal, greaterorequal, greater, contains, notcontains, starts, ends * - multiple filters imply AND * - if procedure, filter format is: parameterName=value,... * - you may also use format: parameterName=equal:value,... (operator MUST be "equal") * - must supply a filter for each stored procedure parameter */ #endregion Get("select", parms => { Logger.LogInfo($"SELECT requested: {Request.Url.ToString()}", "MainModule.Get(\"select\")"); bool isTest = false; if (isTest) { json = DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "testing" }, { "result", "in select" } }); return((Response)json); } #region verify valid parameters if (!Request.Query.db.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "missing parameter: db=Access|Sql|MySql" } })); } isOK = Enum.IsDefined(typeof(DbFlavors), Request.Query.db.ToString()); if (!isOK) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "invalid parameter: db=Access|Sql|MySql" } })); } if (!Request.Query.table.HasValue & !Request.Query.procedure.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'table' or 'procedure' missing" } })); } if (Request.Query.table.HasValue & Request.Query.procedure.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Can't use both 'table' and 'procedure' parameters" } })); } if (Request.Query.table.HasValue) { dsType = DataSourceTypes.table; } else if (Request.Query.procedure.HasValue) { dsType = DataSourceTypes.procedure; } if (dsType == DataSourceTypes.table && Request.Query.table == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'table' has no value" } })); } else if (dsType == DataSourceTypes.procedure && Request.Query.procedure == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'procedure' has no value" } })); } if (!Request.Query.ip.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' missing, should be ip=<myIpAddress>" } })); } if (Request.Query.ip == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' has no value, should be ip=<myIpAddress>" } })); } if (Request.Query.columns.HasValue) { dbColumns = Request.Query.columns.ToString(); if (string.IsNullOrEmpty(dbColumns)) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'columns' must have column names: colName,colName..." } })); } dbColumns = dbColumns.Replace(",", ", ", StringComparison.CurrentCultureIgnoreCase); } if (Request.Query.orderby.HasValue) { if (Request.Query.orderby == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'orderby' has no value" } })); } else { orderBy = Request.Query.orderby; } } else { orderBy = string.Empty; } #endregion clientIp = Request.Query.ip.ToString(); dbFlavor = (DbFlavors)Enum.Parse(typeof(DbFlavors), Request.Query.db); dsName = dsType == DataSourceTypes.table ? Request.Query.table : Request.Query.procedure; #region get list of filters for query filters = new List <Filter>(); errors = new List <string>(); isOK = Collect_Filters(out filters, out errors); if (!isOK) { json = $"{{\"errors\":{JsonConvert.SerializeObject(errors)}}}"; json = DataAccess.InsertJsonProperties(json, Formatting.None, "status", "error", "method", "MainModule Get(\"select\")"); return((Response)json); } #endregion isTest = false; if (isTest) { if (filters.Count == 0) { json = DataAccess.SerializeDictionary(new Dictionary <string, string> { { "filters", "''" } }); } else { json = $"{{\"filters\":{JsonConvert.SerializeObject(filters, Formatting.None)}}}"; } json = DataAccess.InsertJsonProperties(json, Formatting.Indented, "status", "testing", "dbFlavor", dbFlavor.ToString(), "data source type", dsType.ToString(), "dsName", dsName, "dbColumns", dbColumns, "order by", $"'{orderBy}'"); Console.WriteLine(json); Console.WriteLine("\nPress any key to exit..."); return((Response)json); } #region get data using (var dt = DataAccess.GetData(clientIp, dbFlavor, dsType, dsName, dbColumns, filters, orderBy)) { if (dt == null) { json = DataAccess.LastError; } else { //Console.WriteLine("Got data table"); var settings = new JsonSerializerSettings() { Formatting = Formatting.Indented }; settings.Converters.Add(new Converters.DataTableConverter()); json = JsonConvert.SerializeObject(dt, settings); } return((Response)json); } #endregion }); #region SQLSELECT instructions /* * Select data using a SQL command * Ex: Access request: http://localhost:8080/sqlselect/?ip=192.168.1.18&db=Access&NAID=equal:431 * MySql request: http://localhost:8080/sqlselect/?ip=192.168.1.18&db=MySql&StudentID=equal:43 * - path must be: sqlselect * - must have ?ip= * - must have &db=[Access|Sql|MySql] * - SQL statement MUST begin with "select" (case-insensitive) * - must include filter parameters if SQL statement has a WHERE clause * - must have a parameter for each WHERE clause column * - filter format is: parameterName=value,... * - you may also use format: parameterName=equal:value,... (operator MUST be "equal") */ #endregion Post("sqlselect", parms => { Logger.LogInfo($"SQL SELECT requested: {Request.Url.ToString()}", "MainModule.Get(\"selectsql\")"); bool isTest = false; if (isTest) { json = DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "testing" }, { "result", "in selectsql" } }); return((Response)json); } #region verify valid parameters if (!Request.Query.db.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "missing parameter: db=Access|Sql|MySql" } })); } bool isOK = Enum.IsDefined(typeof(DbFlavors), Request.Query.db.ToString()); if (!isOK) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "invalid parameter: db=Access|Sql|MySql" } })); } if (!Request.Query.ip.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' missing, should be ip=<myIpAddress>" } })); } if (Request.Query.ip == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' has no value, should be ip=<myIpAddress>" } })); } #endregion dsType = DataSourceTypes.sql; clientIp = Request.Query.ip.ToString(); dbFlavor = (DbFlavors)Enum.Parse(typeof(DbFlavors), Request.Query.db); #region get list of filters for query filters = new List <Filter>(); errors = new List <string>(); isOK = Collect_Filters(out filters, out errors); if (!isOK) { json = $"{{\"errors\":{JsonConvert.SerializeObject(errors)}}}"; json = DataAccess.InsertJsonProperties(json, Formatting.None, "status", "error", "method", "MainModule Get(\"sqlselect\")"); return((Response)json); } #endregion // get SQL statement from request body var sql = new StreamReader(Request.Body).ReadToEnd(); if (!sql.StartsWith("select ", StringComparison.CurrentCultureIgnoreCase)) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", $"invalid SQL statement: {sql}" } })); } isTest = false; if (isTest) { if (filters.Count == 0) { json = DataAccess.SerializeDictionary(new Dictionary <string, string> { { "filters", "''" } }); } else { json = $"{{\"filters\":{JsonConvert.SerializeObject(filters, Formatting.None)}}}"; } json = DataAccess.InsertJsonProperties(json, Formatting.Indented, "status", "testing", "dbFlavor", dbFlavor.ToString()); Console.WriteLine(json); Console.WriteLine("\nPress any key to exit..."); return((Response)json); } #region get data using (var dt = DataAccess.GetData(clientIp, dbFlavor, dsType, sql, filters)) { if (dt == null) { json = DataAccess.LastError; } else { //Console.WriteLine("Got data table"); var settings = new JsonSerializerSettings() { Formatting = Formatting.Indented }; settings.Converters.Add(new Converters.DataTableConverter()); json = JsonConvert.SerializeObject(dt, settings); } return((Response)json); } #endregion json = ""; return((Response)json); }); #region INSERT, UPDATE, DELETE instructions // Ex: Access request: http://localhost:8080/insert?ip=192.168.1.18&db=Access // - path must be: [insert|update|delete] // - must have ip= // - must have db=Access|Sql|MySql // - must have a serialized 1-record DataTable as payload for request. #endregion Post("update", parms => { clientIp = Request.Query.ip.ToString(); #region verify valid parameters if (!Request.Query.db.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Missing parameter: db=Access|Sql|MySql" } })); } dbFlavor = (DbFlavors)Enum.Parse(typeof(DbFlavors), Request.Query.db); if (!Enum.IsDefined(typeof(DbFlavors), dbFlavor)) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Invalid parameter: db=Access|Sql|MySql" } })); } if (!Request.Query.ip.HasValue) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' missing, should be ip=<myIpAddress>" } })); } if (Request.Query.ip == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'ip' has no value, should be ip=<myIpAddress>" } })); } #endregion // get updated table from request body json = new StreamReader(Request.Body).ReadToEnd(); using (DataTable dtUpdated = Deserialize_Table_Json(json)) { #region verify payload was deserialized into a 1-record DataTable if (dtUpdated == null) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "error" }, { "reason", "could not deserialize payload into DataTable" }, { "payload", json } })); } if (dtUpdated.Rows.Count != 1) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "error" }, { "table rows", dtUpdated.Rows.Count.ToString() }, { "reason", "must supply a 1-row DataTable for update" } })); } #endregion #region verify order by if (Request.Query.orderby.HasValue) { if (Request.Query.orderby == string.Empty) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "fail" }, { "reason", "Parameter 'orderby' has no value" } })); } else { orderBy = Request.Query.orderby; } } else { orderBy = string.Empty; } #endregion #region verify the original record was saved if (!DataAccess.savedData.ContainsKey(clientIp + dtUpdated.TableName)) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "error" }, { "reason", "no saved record exists" }, { "ip address", clientIp }, { "table name", dtUpdated.TableName } })); } #endregion clientIp = Request.Query.ip.ToString(); try { using (DataTable dtSaved = DataAccess.savedData[clientIp + dtUpdated.TableName]) { #region verify saved DataTable contains a single record if (dtSaved.Rows.Count != 1) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "error" }, { "table rows", dtSaved.Rows.Count.ToString() }, { "reason", "saved DataTable must have exactly 1 DataRow" } })); } #endregion bool isTest = false; if (isTest) { Console.WriteLine($"\nOriginal: {string.Join(", ", dtSaved.Rows[0].ItemArray)}"); Console.WriteLine($"\nUpdated : {string.Join(", ", dtUpdated.Rows[0].ItemArray)}"); } // update data and get new updated record using (var dt = DataAccess.UpdateData(clientIp, dbFlavor, dtUpdated, dtSaved, orderBy)) { if (dt == null) { json = DataAccess.LastError; } else { var settings = new JsonSerializerSettings() { Formatting = Formatting.Indented }; settings.Converters.Add(new Converters.DataTableConverter()); json = JsonConvert.SerializeObject(dt, settings); } return((Response)json); } // insert record. result: 0 = failure, >0 = ID of new record, -1 = no auto-number field //var newID = DataAccess.InsertData(dbFlavor, dtUpdated); // loop thru columns, build sql statement, insert row // ignore auto-increment columns in field list and value list // "insert into {table} (xx,xx,xx) values (xx, xx, xx,...)" // for SQL, select SCOPE_IDENTITY for last auto-increment ID // for MySql, select LAST_INSERT_ID // for Access??? // then get the new row, serialize and return } } catch (Exception ex) { return((Response)DataAccess.SerializeDictionary(new Dictionary <string, string> { { "status", "error" }, { "method", "MainModule" }, { "error", ex.Message } })); } } }); }
public EntityConfiguration <T> Key <TKey>(Expression <Func <T, TKey> > selector, DataSourceTypes dataSourceType) { var column = Parse(selector); column.DataSourceType = dataSourceType; column.Table.Key = column; column.IsKey = true; return(this); }
public VMConvertBaiduToMBTiles(Map esriMap, int port) { /*if (BaiDuMapManager.inst.cp == null) * { * BaiDuMapManager.inst.cp = new CacheVersionProvider(); * //System.Threading.Tasks.Task.Factory.StartNew(() => { BaiDuMapManager.inst.cp.initVersionFormWeb(); }); * }*/ if (!PBS.Util.Utility.IsConnectedToInternet()) { throw new Exception("No internet connectivity!"); } _port = port; //check the availability of the port using for this map if (!ServiceManager.PortEntities.ContainsKey(_port)) { try { //WebServiceHost host = new WebServiceHost(serviceProvider, new Uri("http://localhost:" + port)); WebServiceHost host = new WebServiceHost(typeof(PBSServiceProvider), new Uri("http://localhost:" + _port)); host.AddServiceEndpoint(typeof(IPBSServiceProvider), new WebHttpBinding(), "").Behaviors.Add(new WebHttpBehavior()); ServiceDebugBehavior stp = host.Description.Behaviors.Find <ServiceDebugBehavior>(); stp.HttpHelpPageEnabled = false; host.Open(); ServiceManager.PortEntities.Add(_port, new PortEntity(host, new PBSServiceProvider())); } catch (Exception e) { string m = "The port using for this map is not available.\r\n"; //HTTP 无法注册 URL http://+:7777/CalulaterServic/。进程不具有此命名空间的访问权限(有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=70353) if (e.Message.Contains("http://go.microsoft.com/fwlink/?LinkId=70353")) { throw new Exception(m + "Your Windows has enabled UAC, which restrict of Http.sys Namespace. Please reopen PortableBasemapServer by right clicking and select 'Run as Administrator'. \r\nAdd WebServiceHost Error!\r\n" + e.Message); } throw new Exception(m + e.Message); } } try { foreach (var map in DataSourceBaiduOnlineMap.CustomOnlineMaps) { DataSourceTypes.Add(map.Name); } } catch (Exception e) { throw new Exception(e.Message); } SelectedDatasourceType = DataSourceTypes[0]; CMDClickBrowseButton = new DelegateCommand(BrowseButtonClicked); CMDSaveArea = new DelegateCommand(StartSaveArea); CMDResetArea = new DelegateCommand(ZoomToInitialExtend); CMDClickStartButton = new DelegateCommand(StartButtonClicked, (p) => { return(!string.IsNullOrEmpty(Output) && DownloadExtent != null && (Levels != null && Levels.Length > 0) && IsIdle); }); CMDClickProfileButton = new DelegateCommand(ProfileButtonClicked, (p) => { return(!string.IsNullOrEmpty(SelectedProfile)); }); IsIdle = true; SelectedIndexOfDrawExtentMethod = 0; Profiles = new ObservableCollection <string>(_configManager.GetAllDownloadProfileNames()); _map = esriMap; //current level _map.ExtentChanged += (s, a) => { if ((_map.Layers[0] as TiledMapServiceLayer).TileInfo == null) { return; } int i; for (i = 0; i < (_map.Layers[0] as TiledMapServiceLayer).TileInfo.Lods.Length; i++) { if (Math.Abs(_map.Resolution - (_map.Layers[0] as TiledMapServiceLayer).TileInfo.Lods[i].Resolution) < 0.000001) { break; } } lastLevel = i; CurrentLevel = i.ToString(); NotifyPropertyChanged(p => p.CurrentLevel); }; _graphicsLayer = new GraphicsLayer(); _map.Layers.Add(_graphicsLayer); _map.MouseRightButtonDown += new MouseButtonEventHandler(MouseRightButtonDown); _map.MouseRightButtonUp += new MouseButtonEventHandler(MouseRightButtonUp); _map.MouseMove += new System.Windows.Input.MouseEventHandler(MouseMove); //load first map ChangeMap(); }
public ChoosePersonsPage(IChooseReportTypePageView view, IEnumerable <SqlDataConnection> dataConnections, DataSourceTypes dataSourceTypes, IWizardRunnerContext context, ISolutionTypesProvider solutionTypesProvider) : base(view, dataConnections, dataSourceTypes, context, solutionTypesProvider) { }