public IActionResult Generate(string host) { AndroidInstallationDetails DetailModel = NewRepo.FindByColumn <AndroidInstallationDetails>(new List <ConditionParameter> { Condition("hash_key", _request.token) }); if (DetailModel != null) { string NewFileName = FileHelper.NewFileName(FileHelper.FileServerPath("Identity/Data/"), $"{_request.organizationType}_{_request.organizationCode}_", "db"); FileHelper.Copy(FileHelper.FileServerPath("Identity/Struct/everest_amcs.db"), NewFileName); DetailModel.db_path = host + "/" + NewFileName.Replace(FileHelper.ProjectPath(), ""); DetailModel.model_operation = "update"; _data = new List <ModelParameter> { new ModelParameter { ValidateModel = null, SaveModel = DetailModel } }; AUDOperation(_data); DBRepository Sqlite = new DBRepository(NewFileName); _query = new QueryParam { DirectQuery = $"SELECT tbl_name FROM sqlite_master WHERE type='table'" }; List <string> SqliteTable = Sqlite.FindAll <string>(_query).ToList(); List <TableList> AllTableList = NewRepo.FindAll <TableList>(new QueryParam { Where = new List <ConditionParameter> { Condition("is_offline", 0) } }).ToList(); OrgDetail(); foreach (TableList tables in AllTableList) { if (SqliteTable.Contains(tables.table_name.Trim())) { _query = new QueryParam { DirectQuery = $"PRAGMA table_info({tables.table_name.Trim()})" }; List <TableInfo> TableInfoDetail = Sqlite.FindAll <TableInfo>(_query).ToList(); string fields = string.Join(",", TableInfoDetail.Select(x => x.name).ToArray()); _query = new QueryParam { Fields = fields, Distinct = "distinct", Table = tables.table_name.Trim(), }; if (tables.key_field != null && tables.key_field.Trim() != "") { string comapre_field = tables.key_field == "to_dest"?"bmc_code": tables.key_field; _query.Where = new List <ConditionParameter> { Condition(tables.key_field, Hierarchy[comapre_field], "in") }; } IEnumerable <object> ObjectResult = NewRepo.FindAll(_query); int i = 0; string DirectQuery = ""; foreach (var ObjTmp in ObjectResult) { IDictionary <string, object> Tmp = ObjTmp as IDictionary <string, object>; if (i == 0) { DirectQuery = $"insert into {tables.table_name} ({fields}) values ("; } if (i == 200) { DirectQuery = DirectQuery.TrimEnd('('); DirectQuery = DirectQuery.TrimEnd(','); Sqlite.Add(new QueryParam { DirectQuery = DirectQuery }); i = 0; } else { DirectQuery += string.Join(",", Tmp.Select(x => x.Value == null ? "NULL" : $"'{x.Value.ToString()}'")) + "),("; i++; } } if (DirectQuery != "") { DirectQuery = DirectQuery.TrimEnd('('); DirectQuery = DirectQuery.TrimEnd(','); Sqlite.Add(new QueryParam { DirectQuery = DirectQuery }); } } } dynamic data = new ExpandoObject(); data.dbPath = DetailModel.db_path; return(new CustomResult2(data)); } return(new CustomResult2(null, "Authentication Failed.")); }
public IActionResult Verification() { dynamic data = new ExpandoObject(); AndroidInstallationDetails DetailModel = NewRepo.FindByColumn <AndroidInstallationDetails>(new List <ConditionParameter> { Condition("hash_key", _request.token), Condition("otp_code", _request.content.otpCode), Condition("imei_no", _request.imei), }); if (DetailModel == null) { return(new CustomResult2(data, "OTP Not Verified.")); } else { _data = new List <ModelParameter>(); _query = new QueryParam { Where = new List <ConditionParameter> { Condition("android_installation_id", DetailModel.android_installation_id), Condition("android_installation_details_id", DetailModel.android_installation_details_id, "!=") } }; List <AndroidInstallationDetails> DetailList = NewRepo.FindAll <AndroidInstallationDetails>(_query).ToList(); foreach (AndroidInstallationDetails UdateDetailModel in DetailList.NotEmpty()) { UdateDetailModel.sync_active = false; UdateDetailModel.model_operation = "update"; _data.Add(new ModelParameter { ValidateModel = null, SaveModel = UdateDetailModel }); } DetailModel.is_active = true; DetailModel.sync_key = NumericHelper.RandomNumber().ToString(); DetailModel.sync_active = true; DetailModel.model_operation = "update"; _data.Add(new ModelParameter { ValidateModel = null, SaveModel = DetailModel }); CustomResult result = AUDOperation(_data); if (result._result.message.ToLower() == "success") { _query = new QueryParam { Fields = "tbl_mcc_plant.mcc_plant_code,tbl_mcc_plant.name", Join = new List <JoinParameter> { new JoinParameter { table = "tbl_bmc", condition = "tbl_bmc.mcc_plant_code=tbl_mcc_plant.mcc_plant_code" } }, Where = new List <ConditionParameter> { Condition("bmc_code", _request.organizationCode) } }; MccPlant MccModel = NewRepo.Find <MccPlant>(_query); if (MccModel == null) { return(new CustomResult2(data, "OTP Not Verified.")); } data.message = "OTP Verified"; data.syncKey = DetailModel.sync_key; data.parentType = "MCC"; data.parentCode = MccModel.mcc_plant_code; data.parentName = MccModel.name; return(new CustomResult2(data)); } return(new CustomResult2(data, "OTP Not Verified.")); } }