Exemplo n.º 1
0
        public int CreateDocument(string document)
        {
            int result = 0;

            try
            {
                SessionManager.DoWork(session =>
                {
                    int year               = DateTime.Now.Year;
                    string pathVirtal      = System.Configuration.ConfigurationManager.AppSettings["VanBanGuiDen"];
                    string pathPhysical    = HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["VanBanGuiDen"]);
                    string virtualFilePath = ConfigurationManager.AppSettings["FilesPath"] + "/" + year;
                    string filePath        = HttpContext.Current.Server.MapPath(virtualFilePath);
                    VanbanGui vbg          = null;
                    Guid id = Guid.NewGuid();
                    // Tạo đường dẫn chứa file văn bản
                    string Virtalpath = pathPhysical + DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() + "/";
                    //string path = HttpContext.Current.Server.MapPath(Virtalpath);
                    if (!System.IO.Directory.Exists(Virtalpath))
                    {
                        System.IO.Directory.CreateDirectory(Virtalpath);
                    }

                    // Lưu file xml vào thư mục
                    XmlDocument xdoc = new XmlDocument();
                    xdoc.LoadXml(document);
                    xdoc.Save(Virtalpath + id.ToString() + ".xml");

                    // Đọc file xml parse thành đối tượng VanBanGui
                    XmlSerializer xmlser = new XmlSerializer(typeof(VanbanGui));
                    using (System.IO.Stream filetream = new FileStream(Virtalpath + id.ToString() + ".xml", FileMode.Open))
                    {
                        filetream.Position = 0;
                        vbg = (VanbanGui)xmlser.Deserialize(filetream);
                    }
                    // Insert văn bản vào database
                    if (vbg != null)
                    {
                        foreach (To to in vbg.Messageheader.To)
                        {
                            string did = to.OrganId;

                            StaffApiController sc = new StaffApiController();

                            //Guid leaderId = new Guid(sc.GetDepartmentLeaderId(new Guid(did)));
                            Guid toDepartmentId = session.Query <EOfficeHRMDepartment>().SingleOrDefault(h => h.EOfficeDepartmentId.ToString() == did).DepartmentId;

                            PlanStaff plst = session.Query <PlanStaff>().SingleOrDefault(p => p.Department.Id == toDepartmentId && p.PlanKPI.StartTime.Month == DateTime.Now.Month && p.PlanKPI.StartTime.Year == DateTime.Now.Year);

                            PlanKPIDetail planDetail = new PlanKPIDetail();
                            planDetail.TargetDetail  = vbg.Subject;
                            planDetail.Id            = Guid.NewGuid();
                            planDetail.Name          = vbg.Messageheader.From.Name;
                            planDetail.PlanStaff     = plst;
                            planDetail.CreateTime    = DateTime.Now;
                            planDetail.IsAddition    = true;
                            planDetail.IsFromEoffice = true;
                            planDetail.StartTime     = plst.PlanKPI.StartTime;
                            planDetail.EndTime       = plst.PlanKPI.EndTime;
                            Method method            = new Method();
                            method.StartTime         = plst.PlanKPI.StartTime;
                            method.EndTime           = plst.PlanKPI.EndTime;
                            planDetail.Methods       = new List <Method>();
                            planDetail.Methods.Add(method);

                            session.Save(planDetail);
                            foreach (Attachment item in vbg.Document.Attach)
                            {
                                FileAttachment fa = new FileAttachment();
                                fa.Id             = planDetail.Id;
                                fa.Name           = item.Name;
                                fa.Extension      = System.IO.Path.GetExtension(item.Name);

                                string PathFileResource = filePath + "/" + fa.Id.ToString() + fa.Extension;
                                File.WriteAllBytes(PathFileResource, item.Value);

                                if (!System.IO.File.Exists(PathFileResource))
                                {
                                    System.IO.File.WriteAllBytes(PathFileResource, item.Value);
                                }
                                fa.Path          = virtualFilePath + "/" + fa.Id.ToString() + fa.Extension;
                                fa.PlanKPIDetail = new PlanKPIDetail()
                                {
                                    Id = planDetail.Id
                                };
                                fa.CreationTime = DateTime.Now;
                                session.Save(fa);
                            }
                        }
                    }
                    else
                    {
                        //Không đọc dc xml
                        result = -1;
                    }
                });
            }
            catch
            {
                result = -2; // lỗi khác
            }
            return(result);
        }
Exemplo n.º 2
0
        public IEnumerable <StaffDTO> GetDepartmentStaff(int agentObjectTypeId, Guid planId)
        {
            List <StaffDTO> result = new List <StaffDTO>();

            SessionManager.DoWork(session =>
            {
                Staff staff  = ControllerHelpers.GetCurrentStaff(session);
                Guid staffId = staff.Id;
                switch (agentObjectTypeId)
                {
                case (int)AgentObjectTypes.PhongBan:
                    {
                        List <Staff> stafflist = session.Query <Staff>().Where(s => s.Department.Id == staff.Department.Id && s.StaffStatus.NoLongerWork == 0 && s.StaffProfile.GCRecord == null && s.StaffInfo.Position == null).ToList();
                        foreach (Staff s in stafflist)
                        {
                            if (s.Id != staffId)
                            {
                                StaffDTO sd       = new StaffDTO();
                                sd.Name           = s.StaffProfile.Name;
                                sd.Id             = s.Id;
                                sd.AgentObjectIds = new List <Guid>();

                                //if (staff.StaffInfo.Position == null)
                                //{
                                AgentObject ao = session.Query <AgentObject>().SingleOrDefault(a => a.AgentObjectType.Id == 2);
                                sd.AgentObjectIds.Add(ao.Id);
                                //}
                                //else
                                //{
                                //    foreach (AgentObject a in s.StaffInfo.AgentObjects)
                                //    {
                                //        if (a.AgentObjectType.Id == 2)
                                //        {
                                //            sd.AgentObjectIds.Add(a.Id);
                                //        }
                                //    }
                                //}



                                if (sd.AgentObjectIds.Count > 0)
                                {
                                    sd.AgentObjectId = sd.AgentObjectIds.FirstOrDefault();
                                }
                                sd.IsApproved        = false;
                                sd.IsStaffRated      = false;
                                sd.IsSupervisorRated = false;
                                PlanStaff planStaff  = session.Query <PlanStaff>().Where(p => p.PlanKPI.Id == planId && p.Staff.Id == s.Id && p.Department == null).SingleOrDefault();
                                if (planStaff != null)
                                {
                                    //Kế hoạch được trưởng phòng duyệt
                                    sd.IsApproved = planStaff.IsLocked;
                                    Result rs     = session.Query <Result>().Where(r => r.PlanStaff.Id == planStaff.Id).SingleOrDefault();
                                    if (rs != null)
                                    {
                                        //Trưởng phòng đánh giá
                                        sd.IsSupervisorRated = rs.TotalRecord > 0? true : false;
                                        //Nhân viên đã đánh giá
                                        sd.IsStaffRated = rs.TempRecord > 0 || sd.IsSupervisorRated == true ? true : false;
                                    }
                                }
                                result.Add(sd);
                            }
                        }
                    }
                    break;

                //User có cả 3 kế hoạch năm hk tháng
                case 100:
                    {
                        List <Staff> stafflist = session.Query <Staff>().Where(s => s.Department.Id == staff.Department.Id && s.StaffStatus.NoLongerWork == 0 && s.StaffProfile.GCRecord == null && s.StaffProfile.GCRecord == null).ToList();
                        foreach (Staff s in stafflist)
                        {
                            if (s.Id != staffId)
                            {
                                StaffDTO sd       = new StaffDTO();
                                sd.Name           = s.StaffProfile.Name;
                                sd.Id             = s.Id;
                                sd.AgentObjectIds = new List <Guid>();
                                foreach (AgentObject a in s.StaffInfo.AgentObjects)
                                {
                                    if (a.AgentObjectType.Id == 2)
                                    {
                                        sd.AgentObjectIds.Add(a.Id);
                                    }
                                }
                                if (sd.AgentObjectIds.Count > 0)
                                {
                                    sd.AgentObjectId = sd.AgentObjectIds.FirstOrDefault();
                                }
                                sd.IsApproved        = false;
                                sd.IsStaffRated      = false;
                                sd.IsSupervisorRated = false;
                                PlanStaff planStaff  = session.Query <PlanStaff>().Where(p => p.PlanKPI.Id == planId && p.Staff.Id == s.Id && p.Department == null).SingleOrDefault();
                                if (planStaff != null)
                                {
                                    //Kế hoạch được trưởng phòng duyệt
                                    sd.IsApproved = planStaff.IsLocked;
                                    Result rs     = session.Query <Result>().Where(r => r.PlanStaff.Id == planStaff.Id).SingleOrDefault();
                                    if (rs != null)
                                    {
                                        //Trưởng phòng đánh giá
                                        sd.IsSupervisorRated = rs.TotalRecord > 0 && rs.IsLocked == true ? true : false;
                                        //Nhân viên đã đánh giá
                                        sd.IsStaffRated = (rs.TotalRecord > 0 && rs.IsLocked == false) || sd.IsSupervisorRated == true ? true : false;
                                    }
                                }
                                result.Add(sd);
                            }
                        }
                    }
                    break;

                case (int)AgentObjectTypes.BoMon:
                    {
                        List <Staff> stafflist = session.Query <Staff>().Where(s => s.StaffInfo.Subject.Id == staff.StaffInfo.Subject.Id && s.StaffStatus.NoLongerWork == 0 && s.StaffProfile.GCRecord == null && s.StaffProfile.GCRecord == null).ToList();
                        foreach (Staff s in stafflist)
                        {
                            if (s.Id != staffId)
                            {
                                StaffDTO sd       = new StaffDTO();
                                sd.Name           = s.StaffProfile.Name;
                                sd.Id             = s.Id;
                                sd.AgentObjectIds = new List <Guid>();
                                foreach (AgentObject a in s.StaffInfo.AgentObjects)
                                {
                                    if (a.AgentObjectType.Id == 1)
                                    {
                                        sd.AgentObjectIds.Add(a.Id);
                                    }
                                }
                                if (sd.AgentObjectIds.Count > 0)
                                {
                                    sd.AgentObjectId = sd.AgentObjectIds.FirstOrDefault();
                                }
                                sd.IsApproved        = false;
                                sd.IsStaffRated      = false;
                                sd.IsSupervisorRated = false;
                                PlanStaff planStaff  = session.Query <PlanStaff>().Where(p => p.PlanKPI.Id == planId && p.Staff.Id == s.Id && p.Department == null).SingleOrDefault();
                                if (planStaff != null)
                                {
                                    //Kế hoạch được trưởng bộ môn duyệt
                                    sd.IsApproved = planStaff.IsLocked;
                                    Result rs     = session.Query <Result>().Where(r => r.PlanStaff.Id == planStaff.Id).SingleOrDefault();
                                    if (rs != null)
                                    {
                                        //Trưởng bộ môn  đánh giá
                                        sd.IsSupervisorRated = rs.TotalRecord > 0 && rs.IsLocked == true ? true : false;
                                        //Giảng viên đã đánh giá
                                        sd.IsStaffRated = (rs.TotalRecord > 0 && rs.IsLocked == false) || sd.IsSupervisorRated == true ? true : false;
                                    }
                                }
                                result.Add(sd);
                            }
                        }
                    }
                    break;

                case (int)AgentObjectTypes.Khoa:
                    {
                        List <Staff> stafflist = session.Query <Staff>().Where(s => s.Department.Id == staff.Department.Id && s.StaffStatus.NoLongerWork == 0 && s.StaffProfile.GCRecord == null && (s.StaffInfo.Position.AgentObjectType.Id == 8 || s.StaffInfo.SubPositions.Any(p => p.Position.AgentObjectType.Id == 8))).ToList();
                        foreach (Staff s in stafflist)
                        {
                            if (s.Id != staffId)
                            {
                                StaffDTO sd          = new StaffDTO();
                                sd.Name              = s.StaffProfile.Name;
                                sd.Id                = s.Id;
                                AgentObject a        = session.Query <AgentObject>().Where(ag => ag.AgentObjectType.Id == 8).FirstOrDefault();
                                sd.AgentObjectId     = a != null ? a.Id : Guid.Empty;
                                sd.IsApproved        = false;
                                sd.IsStaffRated      = false;
                                sd.IsSupervisorRated = false;
                                PlanStaff planStaff  = session.Query <PlanStaff>().Where(p => p.PlanKPI.Id == planId && p.Staff.Id == s.Id && p.Department == null).SingleOrDefault();
                                if (planStaff != null)
                                {
                                    //Kế hoạch được trưởng khoa duyệt
                                    sd.IsApproved = planStaff.IsLocked;
                                    Result rs     = session.Query <Result>().Where(r => r.PlanStaff.Id == planStaff.Id).SingleOrDefault();
                                    if (rs != null)
                                    {
                                        //Trưởng khoa  đánh giá
                                        sd.IsSupervisorRated = rs.TotalRecord > 0 && rs.IsLocked == true ? true : false;
                                        //Phó trưởng khoa đã đánh giá
                                        sd.IsStaffRated = (rs.TotalRecord > 0 && rs.IsLocked == false) || sd.IsSupervisorRated == true ? true : false;
                                    }
                                }
                                result.Add(sd);
                            }
                        }
                    }
                    break;
                }
            });
            return(result);
        }
Exemplo n.º 3
0
        public IEnumerable <StaffDTO> GetViceDepartmentStaff(int typeId, Guid departmentId, Guid planId)
        {
            var result = new List <StaffDTO>();


            SessionManager.DoWork(session =>
            {
                if (departmentId == Guid.Empty)
                {
                    departmentId = ControllerHelpers.GetCurrentStaff(session).Department.Id;
                }


                int selectedTypeId = 0;
                switch (typeId)
                {
                case (int)AgentObjectTypes.Khoa:
                    {
                        selectedTypeId = (int)AgentObjectTypes.PhoKhoa;
                    }
                    break;

                case (int)AgentObjectTypes.PhongBan:
                    {
                        selectedTypeId = (int)AgentObjectTypes.PhoPhongBan;
                    }
                    break;

                case (int)AgentObjectTypes.HieuTruong:
                    {
                        selectedTypeId = (int)AgentObjectTypes.PhoHieuTruong;
                    }
                    break;
                }
                IQueryable <Staff> resultQuery = session.Query <Staff>().Where(s => s.Department.Id == departmentId && s.StaffStatus.NoLongerWork == 0 && s.StaffProfile.GCRecord == null && (s.StaffInfo.Position.AgentObjectType.Id == selectedTypeId || s.StaffInfo.SubPositions.Any(p => p.Position.AgentObjectType.Id == selectedTypeId)));


                //IQueryable<Staff> resultQuery = null;
                //resultQuery = session.Query<Staff>().Where(a => a.StaffInfo.Position.AgentObjectType.ParentAgentObjectType.Id == typeId).AsQueryable();
                if (departmentId != Guid.Empty)
                {
                    List <Staff> listtemp = resultQuery.Where(s => s.Department.Id == departmentId).ToList();
                    foreach (Staff st in listtemp)
                    {
                        StaffDTO std = ParseFullStaff(st);
                        result.Add(std);
                    }
                    foreach (StaffDTO s in result)
                    {
                        AgentObject a   = session.Query <AgentObject>().Where(ag => ag.AgentObjectType.Id == selectedTypeId).FirstOrDefault();
                        s.AgentObjectId = a != null ? a.Id : Guid.Empty;
                    }
                }
                else
                {
                    List <Staff> listtemp = resultQuery.ToList();
                    foreach (Staff st in listtemp)
                    {
                        StaffDTO std = ParseFullStaff(st);
                        result.Add(std);
                    }
                }
                foreach (StaffDTO st in result)
                {
                    st.IsApproved        = false;
                    st.IsStaffRated      = false;
                    st.IsSupervisorRated = false;
                    PlanStaff planStaff  = session.Query <PlanStaff>().Where(p => p.PlanKPI.Id == planId && p.Staff.Id == st.Id && p.AgentObjectType.Id == st.AgentObjectTypeId).SingleOrDefault();
                    if (planStaff != null)
                    {
                        //Kế hoạch được trưởng phòng duyệt
                        st.IsApproved = planStaff.IsLocked;
                        Result rs     = session.Query <Result>().Where(r => r.PlanStaff.Id == planStaff.Id).SingleOrDefault();
                        if (rs != null)
                        {
                            //Trưởng phòng đánh giá
                            st.IsSupervisorRated = rs.TotalRecord > 0 ? true : false;
                            //Nhân viên đã đánh giá
                            st.IsStaffRated = rs.TempRecord > 0 || st.IsSupervisorRated == true ? true : false;
                        }
                    }
                }
            });
            return(result);
        }
Exemplo n.º 4
0
        public Dictionary <string, object> GetResultList(Guid planId, Guid agentObjectId)
        {
            Dictionary <string, object> resultDic = new Dictionary <string, object>();
            ResultRecordDTO             result    = new ResultRecordDTO();

            SessionManager.DoWork(session =>
            {
                Staff staff = ControllerHelpers.GetCurrentStaff(session);

                PlanKPI plan = session.Query <PlanKPI>().Where(p => p.Id == planId).OrderByDescending(p => p.CreateTime).FirstOrDefault();
                if (plan != null)
                {
                    //Kết quả trưởng phòng
                    ResultRecordDTO manageRecordResultList = new ResultRecordDTO();
                    List <Result> mangeResult = new List <Result>();
                    List <AgentObjectType> agentObjectTypes = new List <AgentObjectType>();
                    PlanStaff planStaff = new PlanStaff();
                    if (staff.StaffInfo.Position != null && staff.StaffInfo.Position.AgentObjectType != null)
                    {
                        agentObjectTypes.Add(staff.StaffInfo.Position.AgentObjectType);
                    }
                    //Chức vụ chính
                    foreach (AgentObjectType at in agentObjectTypes)
                    {
                        int AgentObjectTypeId = at.Id;


                        if (AgentObjectTypeId == 1 || AgentObjectTypeId == 2)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Staff.Id == staff.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 3 || AgentObjectTypeId == 5)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 6)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.StaffInfo.Subject.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 7 || AgentObjectTypeId == 8)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id && ps.Staff.Id == staff.Id).FirstOrDefault();
                        }
                        if (planStaff != null)
                        {
                            Result manageRatingResult = session.Query <Result>().SingleOrDefault(r => r.PlanStaff.Id == planStaff.Id);
                            mangeResult.Add(manageRatingResult);

                            if (manageRatingResult != null)
                            {
                                RecordSingleResultDTO newRecord = ParseResultRecord(manageRatingResult);
                                newRecord.IsMainPosition        = true;
                                newRecord.PositionRate          = Convert.ToDouble(ConfigurationManager.AppSettings["TiLeChucVuChinh"]);
                                manageRecordResultList.Results.Add(newRecord);
                            }
                        }
                    }

                    //Chức vụ kiêm nhiệm
                    foreach (SubPosition po in staff.StaffInfo.SubPositions)
                    {
                        int AgentObjectTypeId = po.Position.AgentObjectType.Id;


                        if (AgentObjectTypeId == 1 || AgentObjectTypeId == 2)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Staff.Id == staff.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 3 || AgentObjectTypeId == 5)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 6)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.StaffInfo.Subject.Id).FirstOrDefault();
                        }
                        else if (AgentObjectTypeId == 7 || AgentObjectTypeId == 8)
                        {
                            planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id && ps.Staff.Id == staff.Id).FirstOrDefault();
                        }
                        if (planStaff != null)
                        {
                            Result manageRatingResult = session.Query <Result>().SingleOrDefault(r => r.PlanStaff.Id == planStaff.Id);
                            mangeResult.Add(manageRatingResult);

                            if (manageRatingResult != null)
                            {
                                RecordSingleResultDTO newRecord = ParseResultRecord(manageRatingResult);
                                newRecord.IsMainPosition        = false;
                                newRecord.PositionRate          = staff.StaffInfo.SubPositions.Count == 1 ? Convert.ToDouble(ConfigurationManager.AppSettings["TiLeChucVuKiemNhiem"]) : Convert.ToDouble(ConfigurationManager.AppSettings["TiLeChucVuChinh"]) / staff.StaffInfo.SubPositions.Count;
                                manageRecordResultList.Results.Add(newRecord);
                            }
                        }
                    }



                    // Kết quản kpis giảng dạy
                    ResultRecordDTO teachingResultList = new ResultRecordDTO();
                    planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Staff.Id == staff.Id && ps.AgentObjectType.Id == 1).FirstOrDefault();
                    if (planStaff != null)
                    {
                        Result teachingRatingResult = session.Query <Result>().SingleOrDefault(r => r.PlanStaff.Id == planStaff.Id);
                        RecordSingleResultDTO rsgr  = ParseResultRecord(teachingRatingResult);
                        teachingResultList.Results.Add(ParseResultRecord(teachingRatingResult));
                    }
                    //kết quả nhân viên văn phòng
                    ResultRecordDTO staffResultList = new ResultRecordDTO();
                    planStaff = session.Query <PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Staff.Id == staff.Id && ps.AgentObjectType.Id == 2).FirstOrDefault();
                    if (planStaff != null)
                    {
                        Result staffRatingResult = session.Query <Result>().SingleOrDefault(r => r.PlanStaff.Id == planStaff.Id);
                        staffResultList.Results.Add(ParseResultRecord(staffRatingResult));
                    }

                    resultDic["manageRecordResultList"] = manageRecordResultList;
                    resultDic["teachingResultList"]     = teachingResultList;
                    resultDic["staffResultList"]        = staffResultList;

                    ResultRecordDTO generalManageResultList = new ResultRecordDTO();
                    double finalResult = 0;
                    foreach (RecordSingleResultDTO sr in manageRecordResultList.Results)
                    {
                        RecordSingleResultDTO newsr = new RecordSingleResultDTO();
                        newsr.Name         = sr.Name;
                        newsr.PositionRate = sr.PositionRate;
                        newsr.Rate         = sr.Rate;
                        newsr.Rate2        = 100 - newsr.Rate;
                        newsr.Record       = sr.Record;
                        newsr.Record2      = teachingResultList.Results.FirstOrDefault() != null? teachingResultList.Results.First().Record:0;
                        newsr.TotalRecord  = Math.Round((newsr.Record * newsr.Rate / 100) + (newsr.Record2 * newsr.Rate2 / 100), 2);
                        finalResult       += Math.Round(newsr.TotalRecord * newsr.PositionRate / 100, 2);
                        generalManageResultList.Results.Add(newsr);
                    }

                    generalManageResultList.FinalResult = finalResult;



                    resultDic["generalManageResultList"] = generalManageResultList;



                    //List<Result> ratingResults = new List<Result>();
                    ////Lấy danh sách các chức vụ, giảng dạy
                    //List<AgentObjectType> agentObjectTypes = new List<AgentObjectType>();

                    //if(staff.StaffInfo.Position.AgentObjectType!=null)
                    //   agentObjectTypes.Add(staff.StaffInfo.Position.AgentObjectType);

                    //List<KPI_WebUser> webUsers = session.Query<KPI_WebUser>().Where(u => u.StaffInfo.Id == staff.Id).ToList();

                    //AgentObject ao = session.Query<AgentObject>().Where(a => a.Id == agentObjectId).SingleOrDefault();

                    //List<AgentObject> otherAgentObjects = staff.StaffInfo.AgentObjects.Where(a => !agentObjectTypes.Any(at => at.Id == a.AgentObjectType.Id)).ToList();

                    //foreach (AgentObject ag in otherAgentObjects)
                    //{
                    //    agentObjectTypes.Add(ag.AgentObjectType);
                    //}
                    //if (staff.StaffInfo.AgentObjects.Count > 1)
                    //{
                    //    AgentObject agentObj = session.Query<AgentObject>().Where(a => a.Id == agentObjectId).SingleOrDefault();
                    //}


                    //foreach(AgentObjectType at in agentObjectTypes)
                    //{
                    //    int AgentObjectTypeId = at.Id;

                    //    PlanStaff planStaff = new PlanStaff();
                    //    if (AgentObjectTypeId == 1 || AgentObjectTypeId == 2)
                    //        planStaff = session.Query<PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Staff.Id == staff.Id).FirstOrDefault();
                    //    else if (AgentObjectTypeId == 3 || AgentObjectTypeId == 5)
                    //        planStaff = session.Query<PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id).FirstOrDefault();
                    //    else if (AgentObjectTypeId == 6)
                    //        planStaff = session.Query<PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.StaffInfo.Subject.Id).FirstOrDefault();
                    //    else if (AgentObjectTypeId == 7)
                    //        planStaff = session.Query<PlanStaff>().Where(ps => ps.PlanKPI.Id == planId && ps.Department.Id == staff.Department.Id && ps.Staff.Id == staff.Id).FirstOrDefault();
                    //    Result ratingResult =new Result();
                    //    if (planStaff != null)
                    //    {
                    //        ratingResult = session.Query<Result>().SingleOrDefault(r => r.PlanStaff.Id == planStaff.Id);
                    //    }

                    //    ratingResults.Add(ratingResult);
                    //}
                    //RecordSingleResultDTO newRecord = ParseResultRecord(ratingResults[0], ratingResults[1]);
                    //result.Results.Add(newRecord);
                }
            });
            return(resultDic);
        }