Exemplo n.º 1
0
        public List <JSSECategory> GetAllActiveMasterCategories(string userName)
        {
            List <JSSECategory> oJsses = new List <JSSECategory>();

            try
            {
                List <string> myOrgList = new List <string>();
                userName = string.IsNullOrWhiteSpace(userName) ? null : "Coned\\" + userName;
                var orgArrays = GetUserMajorGroups(userName, 2).Select(s => s.Organizations);
                foreach (var orgArray in orgArrays)
                {
                    foreach (var myOrg in orgArray)
                    {
                        if (myOrgList.IndexOf(myOrg.Org_Id) < 0)
                        {
                            myOrgList.Add(myOrg.Org_Id);
                        }
                    }
                }
                var dbJsses   = jsseRepo.GetCategoryBehaviors().ToList();
                var dbRatings = jsseRepo.GetRatings().ToList();
                foreach (var dbJSSE in dbJsses)
                {
                    JSSECategory oJsse = new JSSECategory();
                    oJsse.Category_ID  = dbJSSE.Category_ID;
                    oJsse.Category     = dbJSSE.Category;
                    oJsse.CategoryDesc = dbJSSE.CategoryDesc;
                    oJsse.SortOrder    = dbJSSE.SortOrder;
                    // to validate comments required
                    if (dbJSSE.IsRequired == true)
                    {
                        oJsse.IsRequired = true;
                    }
                    else
                    {
                        oJsse.IsRequired = false;
                    }
                    List <JSSEBehavior> objMBehaviors = new List <JSSEBehavior>();
                    List <JSSERating>   objRatings    = new List <JSSERating>();
                    foreach (var dbCat in dbJSSE.T_JSSE_Master_CategoryBehavior_Map)
                    {
                        JSSEBehavior objMBehav = new JSSEBehavior();
                        objMBehav.Behavior_ID     = dbCat.T_JSSE_Master_Behavior.Behavior_ID;
                        objMBehav.Behavior        = dbCat.T_JSSE_Master_Behavior.Behavior;
                        objMBehav.BehaviorDesc    = dbCat.T_JSSE_Master_Behavior.BehaviorDesc;
                        objMBehav.SortOrder       = dbCat.T_JSSE_Master_Behavior.SortOrder;
                        objMBehav.BehaviorType_ID = dbCat.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType_ID;
                        objMBehav.BehaviorType    = dbCat.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType;
                        objMBehav.Org_ID          = dbCat.T_JSSE_Master_Behavior.Org_ID;
                        objMBehav.IsActive        = Convert.ToBoolean(dbCat.Active);
                        objMBehaviors.Add(objMBehav);
                    }
                    objMBehaviors = objMBehaviors.OrderBy(o => o.SortOrder).ToList();
                    foreach (var dbRate in dbRatings)
                    {
                        JSSERating objRate = new JSSERating();
                        objRate.Rating_ID = dbRate.Rating_ID;
                        objRate.Rating    = dbRate.Rating;
                        objRatings.Add(objRate);
                    }
                    int entBehavID = (int)BehaviorType.Enterprise;
                    int orgBehavID = (int)BehaviorType.Organization;
                    oJsse.EntBehaviors = objMBehaviors.Where(d => d.BehaviorType_ID == entBehavID && d.IsActive == true).ToArray();
                    List <JSSEBehavior[]> orgBehaviors = new List <JSSEBehavior[]>();
                    foreach (string org in myOrgList)
                    {
                        int orgId = Int32.Parse(org);
                        var orgs  = objMBehaviors.Where(d => d.BehaviorType_ID == orgBehavID && d.Org_ID == orgId && d.IsActive == true).ToArray();
                        orgBehaviors.Add(orgs);
                    }
                    oJsse.AllOrgBehaviors = orgBehaviors;
                    oJsse.Ratings         = objRatings.ToArray();
                    oJsse.IsActive        = Convert.ToBoolean(dbJSSE.Active);
                    //oJsse.Comments = "test";
                    oJsses.Add(oJsse);
                }
                oJsses = oJsses.Where(c => c.IsActive == true).OrderBy(x => x.SortOrder).ToList();
            }

            catch
            { }
            return(oJsses);
        }
Exemplo n.º 2
0
        public List <JSSECategory> GetAllActiveMasterCategories(int?org_Id)
        {
            List <JSSECategory> oJsses = new List <JSSECategory>();

            try
            {
                var dbJsses   = jsseRepo.GetCategoryBehaviors().ToList();
                var dbRatings = jsseRepo.GetRatings().ToList();
                foreach (var dbJSSE in dbJsses)
                {
                    JSSECategory oJsse = new JSSECategory();
                    oJsse.Category_ID  = dbJSSE.Category_ID;
                    oJsse.Category     = dbJSSE.Category;
                    oJsse.CategoryDesc = dbJSSE.CategoryDesc;
                    oJsse.SortOrder    = dbJSSE.SortOrder;
                    // to validate comments required
                    if (dbJSSE.IsRequired == true)
                    {
                        oJsse.IsRequired = true;
                    }
                    else
                    {
                        oJsse.IsRequired = false;
                    }
                    List <JSSEBehavior> objMBehaviors = new List <JSSEBehavior>();
                    List <JSSERating>   objRatings    = new List <JSSERating>();
                    foreach (var dbCat in dbJSSE.T_JSSE_Master_CategoryBehavior_Map)
                    {
                        JSSEBehavior objMBehav = new JSSEBehavior();
                        objMBehav.Behavior_ID     = dbCat.T_JSSE_Master_Behavior.Behavior_ID;
                        objMBehav.Behavior        = dbCat.T_JSSE_Master_Behavior.Behavior;
                        objMBehav.BehaviorDesc    = dbCat.T_JSSE_Master_Behavior.BehaviorDesc;
                        objMBehav.SortOrder       = dbCat.T_JSSE_Master_Behavior.SortOrder;
                        objMBehav.BehaviorType_ID = dbCat.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType_ID;
                        objMBehav.BehaviorType    = dbCat.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType;
                        objMBehav.Org_ID          = dbCat.T_JSSE_Master_Behavior.Org_ID;
                        objMBehav.IsActive        = Convert.ToBoolean(dbCat.Active);
                        objMBehaviors.Add(objMBehav);
                    }
                    objMBehaviors = objMBehaviors.OrderBy(o => o.SortOrder).ToList();
                    foreach (var dbRate in dbRatings)
                    {
                        JSSERating objRate = new JSSERating();
                        objRate.Rating_ID = dbRate.Rating_ID;
                        objRate.Rating    = dbRate.Rating;
                        objRatings.Add(objRate);
                    }
                    int entBehavID = (int)BehaviorType.Enterprise;
                    int orgBehavID = (int)BehaviorType.Organization;
                    oJsse.EntBehaviors = objMBehaviors.Where(d => d.BehaviorType_ID == entBehavID && d.IsActive == true).ToArray();
                    oJsse.OrgBehaviors = objMBehaviors.Where(d => d.BehaviorType_ID == orgBehavID && d.Org_ID == org_Id && d.IsActive == true).ToArray();
                    oJsse.Ratings      = objRatings.ToArray();
                    oJsse.IsActive     = Convert.ToBoolean(dbJSSE.Active);
                    //oJsse.Comments = "test";
                    oJsses.Add(oJsse);
                }
                oJsses = oJsses.Where(c => c.IsActive == true).OrderBy(x => x.SortOrder).ToList();
            }

            catch
            { }
            return(oJsses);
        }
Exemplo n.º 3
0
        public JSSEMain GetJSSE(int jsseId)
        {
            JSSEMain oJsse = new JSSEMain();

            try
            {
                var dbJsses = jsseRepo.GetJSSE(jsseId).ToList();
                foreach (var dbJSSE in dbJsses)
                {
                    oJsse.IsAnonymous = dbJSSE.IsAnonymous;
                    //Observers
                    List <UserInfo> oObservers     = new List <UserInfo>();
                    List <UserInfo> oSupervisors   = new List <UserInfo>();
                    var             selObservers   = string.Empty;
                    var             selSupervisors = string.Empty;
                    foreach (var dbObserver in dbJSSE.T_JSSE_Observer.Where(j => j.Active == true))
                    {
                        UserInfo observer = new UserInfo();
                        observer.Emp_Id        = Convert.ToInt64(dbObserver.Emp_ID);
                        observer.FirstName     = dbObserver.FirstName;
                        observer.LastName      = dbObserver.LastName;
                        observer.FullName      = dbObserver.LastName + " , " + dbObserver.FirstName;
                        observer.MajorGroup_Id = Convert.ToString(dbObserver.T_JSSE_Hierarchy.MajorGroup_Id);
                        observer.Org_Id        = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Org_Id);
                        observer.Dept_Id       = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Dept_Id);
                        observer.Section_Id    = Convert.ToString(dbObserver.T_JSSE_Hierarchy.Sect_Id);
                        observer.User_ID       = dbObserver.User_Id;
                        observer.UserRole      = dbObserver.UserRole;
                        if (dbObserver.UserRole != "Supervisor")
                        {
                            oObservers.Add(observer);
                            if (!string.IsNullOrEmpty(selObservers))
                            {
                                selObservers = selObservers + "; " + observer.FullName;
                            }
                            else
                            {
                                selObservers = observer.FullName;
                            }
                        }
                        else
                        {
                            oSupervisors.Add(observer);
                            if (!string.IsNullOrEmpty(selSupervisors))
                            {
                                selSupervisors = selSupervisors + "; " + observer.FullName;
                            }
                            else
                            {
                                selSupervisors = observer.FullName;
                            }
                        }
                    }
                    if (oObservers.Count > 0)
                    {
                        if (string.IsNullOrEmpty(oObservers[0].UserRole))
                        {
                            oJsse.IsSupervsrOBSRSame = -1;
                        }
                        else
                        {
                            oJsse.IsSupervsrOBSRSame = 1;
                        }
                        if (oObservers[0].User_ID.ToLower() == "anonymous")
                        {
                            oJsse.IsOBSRAnonymous = true;
                        }
                        else
                        {
                            oJsse.IsOBSRAnonymous = false;
                        }
                        if (oSupervisors.Count > 0)
                        {
                            if (oObservers[0].Emp_Id != oSupervisors[0].Emp_Id)
                            {
                                oJsse.IsSupervsrOBSRSame = 0;
                            }
                            else
                            {
                                oJsse.IsSupervsrOBSRSame = 1;
                            }
                        }
                    }

                    oJsse.Observers      = oObservers.ToArray();
                    oJsse.SelObservers   = selObservers;
                    oJsse.Supervisors    = oSupervisors.ToArray();
                    oJsse.SelSupervisors = selSupervisors;
                    //Observees
                    List <UserInfo> oObservees   = new List <UserInfo>();
                    var             selObservees = string.Empty;
                    foreach (var dbObservee in dbJSSE.T_JSSE_Observee.Where(j => j.Active == true))
                    {
                        UserInfo observee = new UserInfo();
                        observee.Emp_Id        = Convert.ToInt64(dbObservee.Emp_ID);
                        observee.FirstName     = dbObservee.FirstName;
                        observee.LastName      = dbObservee.LastName;
                        observee.FullName      = dbObservee.LastName + " , " + dbObservee.FirstName;
                        observee.MajorGroup_Id = Convert.ToString(dbObservee.T_JSSE_Hierarchy.MajorGroup_Id);
                        observee.Org_Id        = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Org_Id);
                        observee.Dept_Id       = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Dept_Id);
                        observee.Section_Id    = Convert.ToString(dbObservee.T_JSSE_Hierarchy.Sect_Id);
                        observee.User_ID       = dbObservee.User_Id;
                        //observee.UserTitle = "User Title";
                        oObservees.Add(observee);
                        if (!string.IsNullOrEmpty(selObservees))
                        {
                            selObservees = selObservees + "; " + observee.FullName;
                        }
                        else
                        {
                            selObservees = observee.FullName;
                        }
                    }
                    oJsse.Observees    = oObservees.ToArray();
                    oJsse.SelObservees = selObservees;

                    oJsse.JSSE_ID        = dbJSSE.JSSE_ID;
                    oJsse.Base64_JSSE_ID = dbJSSE.JSSE_ID.ToString();//Crypto.DecryptStringAES(Convert.ToString(dbJSSE.JSSE_ID), "JSSE");
                    oJsse.JobName        = dbJSSE.JobName;
                    oJsse.JobDescription = dbJSSE.JobDescription;
                    oJsse.JSSEDate       = dbJSSE.JSSEDate;
                    oJsse.JSSEStatus     = dbJSSE.Status;
                    oJsse.Location       = dbJSSE.Location;
                    var createdId = dbJSSE.CreatedBy != "Anonymous" && !dbJSSE.CreatedBy.StartsWith("CONED") ? "CONED\\" + dbJSSE.CreatedBy : dbJSSE.CreatedBy;
                    if (dbJSSE.CreatedBy != "Anonymous")
                    {
                        var createdUser = JSSESecurityManager.GetUserInfo(createdId);
                        if (createdUser != null)
                        {
                            oJsse.JSSECreator = createdUser.LAST_NAME + ", " + createdUser.FIRST_NAME;
                        }
                        else
                        {
                            oJsse.JSSECreator = dbJSSE.CreatedBy;
                        }
                    }
                    else
                    {
                        oJsse.JSSECreator = dbJSSE.CreatedBy;
                    }
                    oJsse.JSSEEnteredBy = dbJSSE.CreatedBy;
                    oJsse.Region_ID     = dbJSSE.T_JSSE_Master_Region.Region_ID;
                    oJsse.Location      = dbJSSE.Location;
                    oJsse.MajorGroup_Id = Convert.ToInt32(oJsse.Observees[0].MajorGroup_Id);
                    oJsse.Org_Id        = Convert.ToInt32(oJsse.Observees[0].Org_Id);
                    oJsse.Dept_Id       = !string.IsNullOrEmpty(oJsse.Observees[0].Dept_Id) ? Convert.ToInt32(oJsse.Observees[0].Dept_Id) : 0;
                    oJsse.Section_Id    = !string.IsNullOrEmpty(oJsse.Observees[0].Section_Id) ? Convert.ToInt32(oJsse.Observees[0].Section_Id) : 0;
                    oJsse.Hierarchy_ID  = dbJSSE.T_JSSE_Observee.FirstOrDefault(d => d.Active == true) != null?dbJSSE.T_JSSE_Observee.FirstOrDefault(d => d.Active == true).T_JSSE_Hierarchy.Hierarchy_ID : 0;

                    //oJsse.majorgroups = GetMajorGroups().ToArray();
                    //oJsse.organizations = GetOrganizations(oJsse.MajorGroup_Id.ToString()).ToArray();
                    //oJsse.departments = GetDepartments(oJsse.Org_Id.ToString()).ToArray();
                    //oJsse.sections = GetSections(oJsse.Dept_Id.ToString()).ToArray();
                    List <JSSECategory> oSelCats = new List <JSSECategory>();


                    //Build the selected cats
                    foreach (var dbSelCat in dbJSSE.T_JSSE_Category.Where(j => j.Active == true))
                    {
                        JSSECategory oSelCat = new JSSECategory();
                        oSelCat.Category_ID = dbSelCat.T_JSSE_Master_Category.Category_ID;
                        if (dbSelCat.T_JSSE_Master_Rating != null)
                        {
                            oSelCat.RatingID = Convert.ToString(dbSelCat.T_JSSE_Master_Rating.Rating_ID);
                        }
                        else
                        {
                            oSelCat.RatingID = "0";
                        }
                        oSelCat.Comments = dbSelCat.T_JSSE_Comment.SingleOrDefault().Comment;
                        oSelCat.JSSE_ID  = dbSelCat.T_JSSE_Main.JSSE_ID;
                        oSelCat.IsActive = Convert.ToBoolean(dbSelCat.Active);

                        //Build the selecrted behs
                        List <JSSEBehavior> oSelBehs = new List <JSSEBehavior>();
                        foreach (var dbSelBeh in dbSelCat.T_JSSE_Behavior.Where(j => j.Active == true))
                        {
                            JSSEBehavior oSelBeh = new JSSEBehavior();
                            oSelBeh.Behavior_ID     = dbSelBeh.T_JSSE_Master_Behavior.Behavior_ID;
                            oSelBeh.BehaviorType_ID = dbSelBeh.T_JSSE_Master_Behavior.T_JSSE_Master_BehaviorType.BehaviorType_ID;
                            oSelBeh.Category_ID     = dbSelBeh.T_JSSE_Category.JSSECategory_ID;
                            if (dbSelBeh.T_JSSE_Master_Rating != null)
                            {
                                oSelBeh.Rating_ID = dbSelBeh.T_JSSE_Master_Rating.Rating_ID;
                                oSelBeh.Rating    = dbSelBeh.T_JSSE_Master_Rating.Rating;
                            }
                            else
                            {
                                oSelBeh.Rating_ID = 2; // if rating is blank for old records then rating is effective
                            }
                            oSelBeh.Comments = dbSelBeh.Comment;
                            oSelBeh.IsActive = Convert.ToBoolean(dbSelBeh.Active);
                            oSelBehs.Add(oSelBeh);
                        }
                        oSelCat.EntBehaviors = oSelBehs.ToArray();
                        oSelCats.Add(oSelCat);
                    }

                    //Can be fine-tuned later
                    List <JSSECategory> oAllCats = null;
                    if (oSelCats.Count > 0)
                    {
                        oAllCats = GetAllMasterCategories(oJsse.Org_Id);
                    }
                    else
                    {
                        oAllCats = GetAllActiveMasterCategories(oJsse.Org_Id);
                    }

                    foreach (var oSelCat in oSelCats)
                    {
                        foreach (var oCat in oAllCats)
                        {
                            if (oCat.Category_ID == oSelCat.Category_ID)
                            {
                                oCat.RatingID = oSelCat.RatingID;
                                oCat.Comments = oSelCat.Comments;
                                oCat.JSSE_ID  = oSelCat.JSSE_ID;

                                foreach (var oBeh in oCat.EntBehaviors)
                                {
                                    foreach (var oSelBeh in oSelCat.EntBehaviors)
                                    {
                                        if (oBeh.Behavior_ID == oSelBeh.Behavior_ID)
                                        {
                                            oBeh.BehviorChecked = true;
                                            oBeh.Category_ID    = oSelBeh.Category_ID;
                                            oBeh.Rating_ID      = oSelBeh.Rating_ID;
                                            oBeh.Rating         = oSelBeh.Rating;
                                            oBeh.Comments       = oSelBeh.Comments;
                                        }
                                    }
                                }
                                foreach (var oBeh in oCat.OrgBehaviors)
                                {
                                    foreach (var oSelBeh in oSelCat.EntBehaviors)
                                    {
                                        if (oBeh.Behavior_ID == oSelBeh.Behavior_ID)
                                        {
                                            oBeh.BehviorChecked = true;
                                            oBeh.Category_ID    = oSelBeh.Category_ID;
                                            oBeh.Rating_ID      = oSelBeh.Rating_ID;
                                            oBeh.Rating         = oSelBeh.Rating;
                                            oBeh.Comments       = oSelBeh.Comments;
                                        }
                                    }
                                }
                            }
                            oCat.EntBehaviors = oCat.EntBehaviors.Where(eb => eb.IsActive == true || eb.Category_ID != null).ToArray();
                            oCat.OrgBehaviors = oCat.OrgBehaviors.Where(ob => ob.IsActive == true || ob.Category_ID != null).ToArray();
                        }
                    }
                    oJsse.Categories = oAllCats.Where(c => c.IsActive == true || c.JSSE_ID != null).ToArray();


                    //Get the attachments for the JSSE
                    List <JSSEAttachment> oAttachments = new List <JSSEAttachment>();
                    foreach (var dbAttachment in dbJSSE.T_JSSE_Attachments.Where(j => j.Active == true))
                    {
                        JSSEAttachment attachment = new JSSEAttachment();
                        attachment.Title             = dbAttachment.Title;
                        attachment.Description       = dbAttachment.Description;
                        attachment.FileName          = dbAttachment.FileName;
                        attachment.Base64ImageString = CreateBase64Image(dbAttachment.Image);
                        oAttachments.Add(attachment);
                    }
                    oJsse.Attachments = oAttachments.ToArray();
                }
            }
            catch (Exception ex) { throw ex; }
            return(oJsse);
        }