/// <summary> /// Execute /// </summary> /// <returns></returns> protected override bool Execute() { //Validation of parameters and user have been successful. We may now proceed to read from the database var adoSubject = new Subject_ADO(Ado); //You can only create a subject in the default Language DTO.LngIsoCode = Configuration_BSO.GetCustomConfig("language.iso.code"); //We can't allow duplicate named Subjects, so we must check first if (adoSubject.Exists(DTO)) { Response.error = Label.Get("error.duplicate"); return(false); } //Create the Subject - and retrieve the newly created Id int newId = adoSubject.Create(DTO, SamAccountName); if (newId == 0) { Response.error = Label.Get("error.create"); return(false); } //We must create the search keywords for this subject Keyword_Subject_BSO_Mandatory bsoKeyword = new Keyword_Subject_BSO_Mandatory(); bsoKeyword.Create(Ado, DTO, newId); Response.data = JSONRPC.success; return(true); }
/// <summary> /// Execute /// </summary> /// <returns></returns> protected override bool Execute() { var adoSubject = new Subject_ADO(Ado); var list = adoSubject.Read(DTO); Response.data = list; return(true); }
/// <summary> /// Execute /// </summary> /// <returns></returns> protected override bool Execute() { var adoSubject = new Subject_ADO(Ado); int nUpdatedSubjectId = 0; //We can't allow duplicate named Subjects, so we must check first if (adoSubject.UpdateExists(DTO)) { Response.error = Label.Get("error.duplicate"); return(false); } if (DTO.LngIsoCode != Configuration_BSO.GetCustomConfig(ConfigType.global, "language.iso.code")) { SubjectLanguage_BSO subjectLanguageBso = new SubjectLanguage_BSO(); nUpdatedSubjectId = subjectLanguageBso.CreateOrUpdate(DTO, Ado); if (nUpdatedSubjectId == 0) { Log.Instance.Debug("Update of SubjectLanguage failed"); Response.error = Label.Get("error.update"); return(false); } } else { nUpdatedSubjectId = adoSubject.Update(DTO, SamAccountName); } if (nUpdatedSubjectId == 0) { Log.Instance.Debug("Update of Subject failed"); Response.error = Label.Get("error.update"); return(false); } //We must now delete all of the keywords for the subject Keyword_Subject_BSO_Mandatory kbBso = new Keyword_Subject_BSO_Mandatory(); int nchanged = kbBso.Delete(Ado, DTO, true); if (nchanged == 0) { Log.Instance.Debug("No keywords deleted"); } //We can now recreate the keywords for the subject kbBso.Create(Ado, DTO, nUpdatedSubjectId); //Reset the relevant caches MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_NAVIGATION_SEARCH); MemCacheD.CasRepositoryFlush(Resources.Constants.C_CAS_NAVIGATION_READ); Response.data = JSONRPC.success; return(true); }
/// <summary> /// Execute /// </summary> /// <returns></returns> protected override bool Execute() { var adoSubject = new Subject_ADO(Ado); //attempting to delete. The number of entities deleted are passed to the entitiesDeleted variable (this is 1 for a successful delete) int nDeleted = adoSubject.Delete(DTO, SamAccountName); Log.Instance.Debug("Delete operation finished in ADO"); if (nDeleted == 0) { Log.Instance.Debug("No record found for delete request"); Response.error = Label.Get("error.delete"); return(false); } Response.data = JSONRPC.success; return(true); }
/// <summary> /// Formats the output /// </summary> /// <param name="rawList"></param> /// <returns></returns> private List <dynamic> formatOutput(List <dynamic> rawList) { Subject_ADO sAdo = new Subject_ADO(Ado); Subject_DTO sDto = new Subject_DTO(); sDto.LngIsoCode = DTO.LngIsoCode; List <dynamic> subjectsReadList = sAdo.Read(sDto); List <dynamic> outList = new List <dynamic>(); foreach (var subject in subjectsReadList) { dynamic dSubject = new ExpandoObject(); dSubject.SbjCode = subject.SbjCode; dSubject.SbjValue = subject.SbjValue; dSubject.product = new List <dynamic>(); foreach (var product in rawList) { if (product.SbjCode == dSubject.SbjCode) { dynamic dProduct = new ExpandoObject(); dProduct.PrcCode = product.PrcCode; dProduct.PrcValue = product.PrcValue; dProduct.PrcReleaseCount = product.PrcReleaseCount; dSubject.product.Add(dProduct); } } if (dSubject.product.Count > 0) { outList.Add(dSubject); } } return(outList); }