public static bool UserCanEditOrgIDX(int idx, Guid orgIDX) { using (EECIPEntities ctx = new EECIPEntities()) { try { //if governance, anyone can edit T_OE_ORGANIZATION _org = db_Ref.GetT_OE_ORGANIZATION_ByID(orgIDX); if (_org != null) { if (_org.ORG_TYPE == "Governance") { return(true); } } //otherwise, check if user belongs int c = (from a in ctx.T_OE_USERS where a.ORG_IDX == orgIDX && a.USER_IDX == idx select a).Count(); return(c > 0); } catch (Exception ex) { db_Ref.LogEFException(ex); return(false); } } }
public static int DeleteT_OE_ORGANIZATION(Guid id) { using (EECIPEntities ctx = new EECIPEntities()) { try { //***************** VALIDATION (DONT DELETE ORG IF ANY USERS) ********************** List <T_OE_USERS> u = db_Accounts.GetT_OE_USERSByAgency(id); if (u != null && u.Count > 0) { return(-1); } List <T_OE_PROJECTS> p = db_EECIP.GetT_OE_PROJECTS_ByOrgIDX(id); if (p != null && p.Count > 0) { return(-2); } List <OrganizationEntServicesDisplayType> es = db_EECIP.GetT_OE_ORGANIZATION_ENT_SVCS_NoLeftJoin(id); if (es != null && es.Count > 0) { return(-3); } T_OE_ORGANIZATION rec = new T_OE_ORGANIZATION { ORG_IDX = id }; ctx.Entry(rec).State = System.Data.Entity.EntityState.Deleted; ctx.SaveChanges(); return(1); } catch (Exception ex) { LogEFException(ex); return(0); } } }
public static Guid?InsertUpdatetT_OE_ORGANIZATION(Guid?oRG_IDX, string oRG_ABBR, string oRG_NAME, string sTATE_CD, int?ePA_REGION, string oRG_TYPE, string cLOUD, string aPI, bool?aCT_IND, int?cREATE_USER = 0) { using (EECIPEntities ctx = new EECIPEntities()) { try { Boolean insInd = false; T_OE_ORGANIZATION e = (from c in ctx.T_OE_ORGANIZATION where c.ORG_IDX == oRG_IDX select c).FirstOrDefault(); if (e == null) { insInd = true; e = new T_OE_ORGANIZATION(); e.ORG_IDX = Guid.NewGuid(); e.CREATE_DT = System.DateTime.Now; e.CREATE_USERIDX = cREATE_USER; } else { e.MODIFY_DT = System.DateTime.Now; e.MODIFY_USERIDX = cREATE_USER; } if (oRG_ABBR != null) { e.ORG_ABBR = oRG_ABBR; } if (e.ORG_ABBR == null) { e.ORG_ABBR = ""; } if (oRG_NAME != null) { e.ORG_NAME = oRG_NAME; } if (sTATE_CD != null) { e.STATE_CD = sTATE_CD; } if (ePA_REGION != null) { e.EPA_REGION = ePA_REGION; } if (oRG_TYPE != null) { e.ORG_TYPE = oRG_TYPE; } if (cLOUD != null) { e.CLOUD = cLOUD; } if (aPI != null) { e.API = aPI; } if (aCT_IND != null) { e.ACT_IND = aCT_IND ?? true; } if (insInd) { ctx.T_OE_ORGANIZATION.Add(e); } ctx.SaveChanges(); return(e.ORG_IDX); } catch (Exception ex) { LogEFException(ex); return(null); } } }
//***************************project local**************************************** /// <summary> /// Creates a new local PROJECT record and validates it according to the validation rules contained in XML file /// </summary> /// <param name="UserIDX"></param> /// <param name="colVals">Name value pair for the different fields to import into the project record</param> /// <returns></returns> public static ProjectImportType InsertOrUpdate_T_OE_PROJECT_local(int UserIDX, Dictionary <string, string> colVals) { using (EECIPEntities ctx = new EECIPEntities()) { try { //Boolean insInd = true; ProjectImportType e = new ProjectImportType(); e.T_OE_PROJECT.PROJECT_IDX = Guid.NewGuid(); e.T_OE_PROJECT.CREATE_DT = System.DateTime.Now; e.T_OE_PROJECT.CREATE_USERIDX = UserIDX; //get import config rules List <ConfigInfoType> _allRules = Utils.GetAllColumnInfo("P"); //explicitly validate mandatory fields foreach (string entry in Utils.GetMandatoryImportFieldList("P")) { T_OE_PROJECT_validate(ref e, _allRules, colVals, entry); } //then only validate optional fields if supplied (performance) foreach (string entry in Utils.GetOptionalImportFieldList("P")) { T_OE_PROJECT_validate(ref e, _allRules, colVals, entry); } //********************** CUSTOM POST VALIDATION ******************************************** //SET ORG_IDX based on supplied ORG_NAME e.ORG_NAME = Utils.GetValueOrDefault(colVals, "ORG_NAME"); T_OE_ORGANIZATION oo = db_Ref.GetT_OE_ORGANIZATION_ByName(e.ORG_NAME); if (oo != null) { e.T_OE_PROJECT.ORG_IDX = oo.ORG_IDX; } else { e.VALIDATE_CD = false; e.VALIDATE_MSG += "No matching agency found."; } //MEDIA e.MEDIA_NAME = Utils.GetValueOrDefault(colVals, "MEDIA_TAG"); T_OE_REF_TAGS media1 = db_Ref.GetT_OE_REF_TAGS_ByCategoryAndName("Project Media", e.MEDIA_NAME); if (media1 != null) { e.T_OE_PROJECT.MEDIA_TAG = media1.TAG_IDX; } else { e.VALIDATE_CD = false; e.VALIDATE_MSG += "Invalid Media name."; } //MOBILE e.MOBILE_IND_NAME = Utils.GetValueOrDefault(colVals, "MOBILE_IND"); if (!string.IsNullOrEmpty(e.MOBILE_IND_NAME)) { T_OE_REF_TAGS mobile1 = db_Ref.GetT_OE_REF_TAGS_ByCategoryAndName("Use Amount", e.MOBILE_IND_NAME); if (mobile1 != null) { e.T_OE_PROJECT.MOBILE_IND = mobile1.TAG_IDX; } else { e.VALIDATE_CD = false; e.VALIDATE_MSG += "Invalid Mobile Use. "; } } //ADV MON e.ADV_MON_IND_NAME = Utils.GetValueOrDefault(colVals, "ADV_MON_IND"); if (!string.IsNullOrEmpty(e.ADV_MON_IND_NAME)) { T_OE_REF_TAGS adv1 = db_Ref.GetT_OE_REF_TAGS_ByCategoryAndName("Use Amount", e.ADV_MON_IND_NAME); if (adv1 != null) { e.T_OE_PROJECT.ADV_MON_IND = adv1.TAG_IDX; } else { e.VALIDATE_CD = false; e.VALIDATE_MSG += "Invalid Advanced Monitoring Use. "; } } //BP MODERN e.BP_MODERN_IND_NAME = Utils.GetValueOrDefault(colVals, "BP_MODERN_IND"); if (!string.IsNullOrEmpty(e.BP_MODERN_IND_NAME)) { T_OE_REF_TAGS bp1 = db_Ref.GetT_OE_REF_TAGS_ByCategoryAndName("Use Amount", e.BP_MODERN_IND_NAME); if (bp1 != null) { e.T_OE_PROJECT.BP_MODERN_IND = bp1.TAG_IDX; } else { e.VALIDATE_CD = false; e.VALIDATE_MSG += "Invalid Business Process Improvement Use. "; } } e.PROGRAM_AREAS = Utils.GetValueOrDefault(colVals, "PROGRAM_AREAS"); e.FEATURES = Utils.GetValueOrDefault(colVals, "FEATURES"); //********************** CUSTOM POST VALIDATION END ******************************************** return(e); } catch (Exception ex) { db_Ref.LogEFException(ex); return(null); } } }