/// <summary> /// 获取API /// </summary> /// <param name="apiDocId"></param> /// <returns></returns> public API GetAPI(Id apiDocId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbAPIDoc = from q in context.APIDocs where q.APIDocId == apiDocId.Value select q; return ConvertModelHelper.ToAPIModel(dbAPIDoc.First()); }
/// <summary> /// 获取Domain /// </summary> /// <param name="domainId"></param> /// <returns></returns> public Domain GetDomain(Id domainId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var domain = (from q in context.Domains where q.DomainId == domainId.Value select q).FirstOrDefault(); return ConvertModelHelper.ToDomainModel(domain); }
/// <summary> /// 获取某Domain下的所有ErrorCode /// </summary> /// <param name="domainId"></param> /// <returns></returns> public IList<ErrorCode> GetErrorCodesInDomain(Id domainId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbErrors = from q in context.Errors where q.DomainId == domainId.Value select q; return GetErrorCodeListFromDBErrorList(dbErrors.ToList()); }
/// <summary> /// 获取ErrorCode /// </summary> /// <param name="Code"></param> /// <returns></returns> public ErrorCode GetErrorCode(Id domainId, int Code) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbmodel = (from q in context.Errors where q.DomainId == domainId.Value && q.ErrorCode == Code select q).FirstOrDefault(); return ConvertModelHelper.ToErrorCodeModel(dbmodel); }
/// <summary> /// 获取某API的ErrorCode /// </summary> /// <param name="apiDocId"></param> /// <returns></returns> public IList<ErrorCode> GetAPIErrorCodes(Id apiDocId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbErrors = (from q in context.APIDocs where q.APIDocId == apiDocId.Value select q.Errors).FirstOrDefault(); return GetErrorCodeListFromDBErrorList(dbErrors.ToList()); }
/// <summary> /// 获取目录下的API /// </summary> /// <param name="categoryId"></param> /// <returns></returns> public IList<API> GetAllAPIInCategory(Id categoryId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbAPIDoc = from q in context.APIDocs where q.CategoryId == categoryId.Value select q; IList<API> apiList = new List<API>(); foreach (DBAPIDoc dbApi in dbAPIDoc) { apiList.Add(ConvertModelHelper.ToAPIModel(dbApi)); } return apiList; }
/// <summary> /// 创建Domain /// </summary> /// <param name="domain"></param> public bool Insert(Domain domain) { DBDomain dbModel = ConvertModelHelper.ToDBDomainModel(domain); APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbDomain = (from q in context.Domains where q.DomainId == domain.Id.Value select q).FirstOrDefault(); if (dbDomain == null) { context.Domains.Add(dbModel); context.SaveChanges(); return true; } else return false; }
/// <summary> /// 获取Category /// </summary> /// <param name="categoryId"></param> /// <returns></returns> public Category GetAPI(Id categoryId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var category = (from q in context.Categories where q.CategoryId == categoryId.Value select q).FirstOrDefault(); if (category != null) { var childCategories = from q in context.Categories where q.ParentId == category.CategoryId select q; return ConvertModelHelper.ToCategoryModel(category, childCategories.ToList()); } else return null; }
/// <summary> /// 更新Domain /// </summary> /// <param name="domain"></param> public bool Update(Domain domain) { DBDomain dbModel = ConvertModelHelper.ToDBDomainModel(domain); if (dbModel == null) return false; APIDoc_WebDBContext context = new APIDoc_WebDBContext(); var dbDomain = (from q in context.Domains where q.DomainId == domain.Id.Value select q).FirstOrDefault(); if (dbDomain == null) { context.Domains.Add(dbModel); } else { dbDomain.Title = dbModel.Title; dbDomain.Description = dbModel.Description; dbDomain.RootUrl = dbModel.RootUrl; } context.SaveChanges(); return true; }
/// <summary> /// 创建Category /// </summary> /// <param name="category"></param> public bool Insert(Category category) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); DBCategory dbModel = ConvertModelHelper.ToDBCategoryModel(category); if (dbModel == null) return false; var dbCategory = (from q in context.Categories where q.CategoryId == category.Id.Value select q).FirstOrDefault(); if (dbCategory == null) { context.Categories.Add(dbCategory); context.SaveChanges(); return true; } else return false; }
/// <summary> /// 创建API /// </summary> /// <param name="api"></param> public bool Insert(API api) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); DBAPIDoc dbApiDoc = ConvertModelHelper.ToDBAPIModel(api); if(dbApiDoc ==null) return false; var apid = (from q in context.APIDocs where q.APIDocId == api.Id.Value select q).FirstOrDefault(); if (apid == null) { context.APIDocs.Add(dbApiDoc); context.SaveChanges(); return true; } else return false; }
/// <summary> /// 获取目录下的Category /// </summary> /// <param name="domainId"></param> /// <returns></returns> public IList<Category> GetAllCategoryInDomain(Id domainId) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); //IList<Category> categoryList; var dbCategoryList = from q in context.Categories where q.DomainId == domainId.Value select q; if (dbCategoryList != null) { IList<Category> categories = new List<Category>(); foreach (DBCategory dbCategory in dbCategoryList) { categories.Add(ConvertModelHelper.ToCategoryModel(dbCategory)); } return categories; } else return null; }
/// <summary> /// 更新Category /// </summary> /// <param name="category"></param> public bool Update(Category category) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); DBCategory dbModel = ConvertModelHelper.ToDBCategoryModel(category); if (dbModel == null) return false; var dbCategory = (from q in context.Categories where q.CategoryId == category.Id.Value select q).FirstOrDefault(); if (dbCategory == null) { context.Categories.Add(dbModel); } else { dbCategory.DomainId = dbModel.DomainId; dbCategory.Title = dbModel.Title; dbCategory.ParentId = dbModel.ParentId; } context.SaveChanges(); return true; }
/// <summary> /// 更新API /// </summary> /// <param name="api"></param> public bool Update(API api) { APIDoc_WebDBContext context = new APIDoc_WebDBContext(); DBAPIDoc dbApiDoc = ConvertModelHelper.ToDBAPIModel(api); if (dbApiDoc == null) return false; var apid = (from q in context.APIDocs where q.APIDocId == api.Id.Value select q).FirstOrDefault(); if(apid == null) { context.APIDocs.Add(dbApiDoc); } else { apid.Parameters = dbApiDoc.Parameters; apid.Title = dbApiDoc.Title; apid.Description = dbApiDoc.Description; apid.CategoryId = dbApiDoc.CategoryId; apid.RequestUrl = dbApiDoc.RequestUrl; apid.RequestType = dbApiDoc.RequestType; apid.NeedAuth = dbApiDoc.NeedAuth; apid.ActionTypes = dbApiDoc.ActionTypes; apid.ResponseDemoes = dbApiDoc.ResponseDemoes; apid.Errors = dbApiDoc.Errors; } context.SaveChanges(); return true; }