public void UpdateInquirySubjectInquirers(Action <InquirySubjectWithInquirersDTO, Exception> action, long periodId, long jobPositionId,
                                                  InquirySubjectWithInquirersDTO inquirySubjectWithInquirersDTO)
        {
            var url = string.Format(baseAddress + makeInquirySubjectInquirersApiAdress(periodId, jobPositionId, inquirySubjectWithInquirersDTO.EmployeeNo) + "?Batch=1");

            WebClientHelper.Put(new Uri(url, PMSClientConfig.UriKind), action, inquirySubjectWithInquirersDTO, PMSClientConfig.MsgFormat, PMSClientConfig.CreateHeaderDic(userProvider.Token));
        }
예제 #2
0
        public List <InquirySubjectWithInquirersDTO> GetInquirySubjectsWithInquirers(long periodId, long unitId)
        {
            var inquirySubjectWIthInquirersList = new List <InquirySubjectWithInquirersDTO>();
            var configurationItems =
                unitService.GetInquirySubjectWithInquirer(new UnitId(new PeriodId(periodId),
                                                                     new SharedUnitId(unitId)));
            var inquirySubjectWithinquirers = configurationItems.GroupBy(c => c.Id.InquirySubjectId);

            foreach (var inquirySubjectWithinquirer in inquirySubjectWithinquirers)
            {
                var inquirySubject            = _employeeRepository.GetBy(inquirySubjectWithinquirer.Key);
                var inquirySubjectInquirerDTO = new InquirySubjectWithInquirersDTO
                {
                    EmployeeName = inquirySubject.FullName,
                    EmployeeNo   = inquirySubject.Id.EmployeeNo,
                };
                inquirySubjectInquirerDTO.CustomInquirers = new List <InquirerDTO>();
                inquirySubjectInquirerDTO.Inquirers       = new List <InquirerDTO>();

                foreach (var itm in inquirySubjectWithinquirer)
                {
                    var inquirer = _employeeRepository.GetBy(itm.Id.InquirerId);
                    var inquirerJobPositionName = unitRep.GetBy(itm.Id.InquirerUnitId).Name;
                    if (itm.IsAutoGenerated)
                    {
                        inquirySubjectInquirerDTO.Inquirers.Add(new InquirerDTO
                        {
                            EmployeeNo              = inquirer.Id.EmployeeNo,
                            FullName                = inquirer.FullName,
                            IsPermitted             = itm.IsPermitted,
                            EmployeeJobPositionId   = itm.Id.InquirerUnitId.SharedUnitId.Id,
                            EmployeeJobPositionName = inquirerJobPositionName
                        });
                    }
                    else
                    {
                        inquirySubjectInquirerDTO.CustomInquirers.Add(new InquirerDTO
                        {
                            EmployeeNo              = inquirer.Id.EmployeeNo,
                            FullName                = inquirer.FullName,
                            EmployeeJobPositionId   = itm.Id.InquirerUnitId.SharedUnitId.Id,
                            EmployeeJobPositionName = inquirerJobPositionName
                        });
                    }
                }

                inquirySubjectWIthInquirersList.Add(inquirySubjectInquirerDTO);
            }
            return(inquirySubjectWIthInquirersList);
        }
예제 #3
0
        public InquirySubjectWithInquirersDTO UpdateInquirySubjectInquirers(long periodId, long jobPositionId,
                                                                            string inquirySubjectEmployeeNo, InquirySubjectWithInquirersDTO inquirySubjectWithInquirersDTO)
        {
            //var inquirerEmployeeIdList = new List<EmployeeId>();
            //inquirerEmployeeIdList.AddRange(inquirySubjectWithInquirersDTO.Inquirers.Where(i => i.IsPermitted)
            //    .Select(i => new EmployeeId(i.EmployeeNo, new PeriodId(periodId))));
            //inquirerEmployeeIdList.AddRange(
            //    inquirySubjectWithInquirersDTO.CustomInquirers.Select(
            //        c => new EmployeeId(c.EmployeeNo, new PeriodId(periodId))));
            //jobPositionService.UpdateInquirers(
            //    new EmployeeId(inquirySubjectWithInquirersDTO.EmployeeNo, new PeriodId(periodId)),
            //    new JobPositionId(new PeriodId(periodId), new SharedJobPositionId(jobPositionId)),
            //    inquirerEmployeeIdList);
            //return inquirySubjectWithInquirersDTO;

            var inquirerEmployeeIdList = new List <EmployeeIdWithJobPositionId>();

            inquirerEmployeeIdList.AddRange(inquirySubjectWithInquirersDTO.Inquirers.Where(i => i.IsPermitted)
                                            .Select(i => new EmployeeIdWithJobPositionId()
            {
                EmployeeId    = new EmployeeId(i.EmployeeNo, new PeriodId(periodId)),
                JobPositionId = new JobPositionId(new PeriodId(periodId), new SharedJobPositionId(i.EmployeeJobPositionId))
            }));

            inquirerEmployeeIdList.AddRange(inquirySubjectWithInquirersDTO.CustomInquirers
                                            .Select(i => new EmployeeIdWithJobPositionId()
            {
                EmployeeId    = employeeRep.GetBy(new EmployeeId(i.EmployeeNo, new PeriodId(periodId))).Id,
                JobPositionId = jobPositionRep.GetBy(new JobPositionId(new PeriodId(periodId), new SharedJobPositionId(i.EmployeeJobPositionId))).Id
            }));

            jobPositionService.UpdateInquirers(

                new EmployeeId(inquirySubjectWithInquirersDTO.EmployeeNo, new PeriodId(periodId)),
                new JobPositionId(new PeriodId(periodId), new SharedJobPositionId(jobPositionId)),
                inquirerEmployeeIdList);

            return(inquirySubjectWithInquirersDTO);
        }
 public InquirySubjectWithInquirersDTO PutInquirySubjectInquirers(long periodId, long jobPositionId, string inquirySubjectEmployeeNo, int batch,
                                                                  InquirySubjectWithInquirersDTO inquirySubjectWithInquirersDTO)
 {
     return(jobPositionService.UpdateInquirySubjectInquirers(periodId, jobPositionId, inquirySubjectEmployeeNo,
                                                             inquirySubjectWithInquirersDTO));
 }
예제 #5
0
 public void UpdateInquirySubjectInquirers(Action <InquirySubjectWithInquirersDTO, Exception> action, long periodId, long unitId,
                                           InquirySubjectWithInquirersDTO inquirySubjectWithInquirersDTO)
 {
     throw new NotImplementedException();
 }