Exemple #1
0
 public void TestMethod1()
 {
     ServiceDeskCartableService service = new ServiceDeskCartableService();
     ExternalResultDto          res     = service.GetRecieverExpert(new System.Collections.Generic.List <int>()
     {
         4445, 2379, 874, 6937, 4205
     });
 }
        public Common.DTO.ExternalResultDto GetRecieverExpert(List <int> perIdList)
        {
            int resultId = perIdList.FirstOrDefault();

            DateTime lastDate = DateTime.Now.AddYears(-10);

            if (perIdList.Count > 1)
            {
                ExpertTDataAccess expertDa = new ExpertTDataAccess();
                RequestAssignedExpertTDataAccess assignedDa = new RequestAssignedExpertTDataAccess();
                foreach (var perId in perIdList)
                {
                    var expert = expertDa.GetSingle(it => it.Userid == perId);
                    if (expert != null)
                    {
                        if (expert.IsEnabled)
                        {
                            var req = assignedDa.GetLastRequest(perId);
                            if (req != null)
                            {
                                if (req.Assigndate > lastDate)
                                {
                                    resultId = req.ExpertPerId.Value;
                                }
                            }
                            else
                            {
                                resultId = perId;
                            }
                        }
                    }
                }
            }

            ExternalResultDto result = new ExternalResultDto()
            {
                Result = resultId
            };

            return(result);
        }