Esempio n. 1
0
 /* Get User Info of a user by alias */
 public Entities.UserInfo GetUserInfo(string userName)
 {
     Entities.UserInfo userInfo = new Entities.UserInfo();
     try
     {
         var dbUserGroup = JSSESecurityManager.GetUserInfo(userName);
         if (dbUserGroup != null)
         {
             userInfo.CompanyId     = dbUserGroup.Company_Cd;
             userInfo.Emp_Id        = dbUserGroup.Emp_No;
             userInfo.User_ID       = dbUserGroup.PRIMARY_WINDOWS_NT_ACCOUNT;
             userInfo.FirstName     = dbUserGroup.FIRST_NAME;
             userInfo.LastName      = dbUserGroup.LAST_NAME;
             userInfo.FullName      = dbUserGroup.LAST_NAME + " " + dbUserGroup.FIRST_NAME;
             userInfo.Email         = dbUserGroup.EMAIL_ADDRESS_COMPANY;
             userInfo.MajorGroup_Id = dbUserGroup.VP_CD.ToString();
             userInfo.Org_Id        = dbUserGroup.ORG_CD.ToString();
             userInfo.Dept_Id       = dbUserGroup.DEPT_CD.ToString();
             userInfo.Section_Id    = dbUserGroup.SECT_CD.ToString();
         }
     }
     catch
     {
         throw;
     }
     return(userInfo);
 }
Esempio n. 2
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);
        }