using CsharpHttpHelper; using DeviceRepairAndOptimization.Business; using DeviceRepairAndOptimization.Data.MaintenanceForm; using DeviceRepairAndOptimization.Models; using DeviceRepairAndOptimization.Utils; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Threading.Tasks; namespace DeviceRepairAndOptimization.Data { public class MaintenanceFormVersionMaintenance { private static MaintenanceFormVersionMaintenance manager; public static MaintenanceFormVersionMaintenance Instance { get { if (manager == null) manager = new MaintenanceFormVersionMaintenance(); return manager; } } /// /// 获取全部数据 /// /// public List GetAll() { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.GetAllMaintenanceData, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { querystring = "" }) }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = MaintenanceFormVersionAccess.Instance().GetAll(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } public string GetFileSingle(int AutoID) { string filePath = string.Empty; try { if (AutoID == 0) return filePath; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": filePath = ApiHelper.Instance.DownLoadFile(new HttpItem() { URL = "api/MaintenanceForm/DownloadFile?AutoID=" + AutoID, Method = "get", ContentType = "application/vnd.ms-excel" }); ////创建Httphelper对象 //HttpHelper http = new HttpHelper(); ////创建Httphelper参数对象 //HttpItem item = new HttpItem() //{ // URL = "api/MaintenanceForm/DownloadFile?AutoID=" + AutoID, // Method = "get", // ContentType = "application/vnd.ms-excel", // ResultType = ResultType.Byte //}; //HttpResult result = http.GetHtml(item); //WebHeaderCollection header = result.Header; //if (header != null) //{ // string fileName = header["FileName"]; // if (!string.IsNullOrWhiteSpace(fileName)) // { // string CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory; // if (!Directory.Exists(Path.Combine(CurrentDirectory, "Cache"))) // Directory.CreateDirectory(Path.Combine(CurrentDirectory, "Cache")); // File.WriteAllBytes(Path.Combine(CurrentDirectory, fileName), result.ResultByte); // filePath = Path.Combine(CurrentDirectory, fileName); // } //} break; case "sql": //entity = MaintenanceFormVersionAccess.Instance().GetSingle(AutoID); break; default: break; } } catch (Exception ex) { throw ex; } return filePath; } /// /// 获取单条数据 /// /// /// public MaintenanceFormVersionModel GetSingle(int AutoID) { MaintenanceFormVersionModel entity = null; try { if (AutoID == 0) return entity; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.GetFormVersionSingle, Method = "Post", ContentType = "application/json; charset=utf-8",//返回类型 可选项有默认值 Postdata = JsonConvert.SerializeObject(new { autoid = AutoID }) }); if (result.Code == 1) { entity = JsonConvert.DeserializeObject(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": entity = MaintenanceFormVersionAccess.Instance().GetSingle(AutoID); break; default: break; } } catch (Exception ex) { throw ex; } return entity; } /// /// 新增数据 /// /// /// public bool InsertSingle(MaintenanceFormVersionModel maintenance) { bool IsSuccess = false; try { if (maintenance == null) return IsSuccess; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.AddFormVersionData, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(maintenance) }); if (result.Code == 1) { IsSuccess = bool.Parse(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": int AutoID = MaintenanceFormVersionAccess.Instance().InsertSingle(maintenance); IsSuccess = AutoID > 0; if (IsSuccess) { HistoryManager.Instance.FormHistoryWrite(AutoID, "新增"); } break; default: break; } } catch (Exception ex) { throw ex; } return IsSuccess; } /// ///替换/修改 点检表 /// /// /// public bool UpdataSingle(MaintenanceFormVersionModel maintenance) { bool IsSuccess = false; try { if (maintenance == null) return IsSuccess; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.ReplaceFormVersion, Method = "Post", ContentType = "application/json; charset=utf-8",//返回类型 可选项有默认值 Postdata = JsonConvert.SerializeObject(maintenance) }); if (result.Code == 1) { IsSuccess = bool.Parse(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": IsSuccess = MaintenanceFormVersionAccess.Instance().InsertSingle(maintenance) > 0; break; default: break; } } catch (Exception ex) { throw ex; } return IsSuccess; } /// /// 修改备注 /// /// /// public bool ChangeRemark(MaintenanceFormVersionModel maintenance) { bool isSuccess = false; try { if (maintenance == null) return isSuccess; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": string pdata = JObject.FromObject(maintenance).ToString(); APIResponseData result = ApiHelper.Instance.PostWebRequest(ServiceRoute.UpdateFormVersionRemark, pdata, GlobalInfo.token); if (result.Code == 1) { isSuccess = bool.Parse(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": isSuccess = MaintenanceFormVersionAccess.Instance().ChangeRemark(maintenance, null); break; default: break; } } catch (Exception ex) { throw ex; } return isSuccess; } /// /// 单行数据翻转当前状态(启用/禁用) /// ///// /// public bool ChangeStauts(int AutoID, int UserID) { bool isSuccess = false; try { if (AutoID == 0) return isSuccess; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.UpdateFormVersionStatus, Method = "Post", ContentType = "application/json; charset=utf-8",//返回类型 可选项有默认值 Postdata = JsonConvert.SerializeObject(new { autoid = AutoID, userid = UserID }) }); if (result.Code == 1) { isSuccess = bool.Parse(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": isSuccess = MaintenanceFormVersionAccess.Instance().ChangeStauts(AutoID, UserID); break; default: break; } } catch (Exception ex) { throw ex; } return isSuccess; } /// /// 判断数据是否存在 /// /// /// public bool DataIsExists(MaintenanceFormVersionModel maintenance) { bool isSuccess = false; try { if (maintenance == null) return isSuccess; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.ExistsFormVersionData, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { FormName = maintenance.FormName, VersionCode = maintenance.VersionCode, VersionRev = maintenance.VersionRev }) }); if (result.Code == 1) { isSuccess = bool.Parse(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": isSuccess = MaintenanceFormVersionAccess.Instance().DataIsExists(maintenance); break; default: break; } } catch (Exception ex) { throw ex; } return isSuccess; } /// /// 根据关键字筛选 /// /// /// public List GetQuery(string filterValue) { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": APIResponseData result = ApiHelper.Instance.SendMessage(new CsharpHttpHelper.HttpItem { URL = ServiceRoute.QueryFormVersionData, Method = "Post", ContentType = "application/json; charset=utf-8",//返回类型 可选项有默认值 Postdata = JsonConvert.SerializeObject(new { filtervalue = filterValue }) }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } break; case "sql": lst = MaintenanceFormVersionAccess.Instance().GetQuery(filterValue); break; default: break; } } catch (Exception ex) { throw ex; } return lst; } /// /// 文件上传 /// /// /// public async Task UploadFile(string filePath) { try { string FileExtension = Path.GetExtension(filePath); string newName = $"{Guid.NewGuid()}{FileExtension}"; using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { APIResponseData result = await ApiHelper.Instance.UploadFileAsync(ServiceRoute.UploadFormVersionFile, fileStream, newName); if (result.Code == 1) return result.Data + ""; else throw new Exception(result.Message); } } catch (Exception e) { throw e; } } } }