예제 #1
0
        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);
                }
            }
        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
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);
                }
            }
        }
예제 #4
0
파일: db_EECIP.cs 프로젝트: ljsweeny/EECIP
        //***************************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);
                }
            }
        }