public IEnumerable <Demand> GetAll(string filterType, List <string> roles, Guid userAccountId) { Expression <Func <Demand, bool> > expression = p => p.RecordStatus == Helpdesk.Model.Enums.RecordStatus.A; if (!string.IsNullOrEmpty(filterType)) { switch (filterType) { case "completed": expression = expression.And(p => p.IsCompleted && p.IsDissolved && p.IsAccepted && p.ApplicationUserAccountId == userAccountId); break; case "assigned": expression = expression.And(p => p.IsAccepted && p.IsDissolved != true && p.IsCompleted != true && p.ApplicationUserAccountId == userAccountId); break; case "notAssigned": expression = expression.And(p => p.IsAccepted != true && p.IsDissolved != true && p.IsAccepted != true); break; case "solved": expression = expression.And(p => p.IsDissolved && p.IsCompleted != true && p.IsAccepted && p.ApplicationUserAccountId == userAccountId); break; default: break; } } var data = demandRepository.GetAll(expression); return(data); }
public IActionResult Get() { try { return(Ok(_DemandRepository.GetAll())); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public string AnnualOrMonthlyReportJson(int year, int month, string taskStatusfilterKey) { Expression <Func <Demand, bool> > expression = p => p.RecordStatus == Helpdesk.Model.Enums.RecordStatus.A; if (year != 0 && month == 0) { expression = expression.And(p => p.CreateDate.Value.Year == year); } if (month != 0 && year != 0) { expression = p => p.CreateDate.Value.Month == month && p.CreateDate.Value.Year == year; } if (!string.IsNullOrEmpty(taskStatusfilterKey)) { switch (taskStatusfilterKey) { case "dissolved": // çözülmüş expression = expression.And(p => p.IsDissolved == true); break; case "completed": // tamamlandı expression = expression.And(p => p.IsCompleted == true); break; case "assigned": // atanmış expression = expression.And(p => p.IsAccepted == true); break; case "notAssigned": // acık expression = expression.And(p => p.IsAccepted != true); break; default: expression = expression.And(p => p.IsAccepted != true); break; } } else { expression = expression.And(p => p.IsAccepted != true); } var demands = demandRepository.GetAll(expression, out int records, null); if (taskStatusfilterKey == "notAssigned") { var emergencys = orderOfUrgencyService.GetAll(); var joinedData = emergencys.GroupJoin(inner: demands, outerKeySelector: urgency => urgency.Id, innerKeySelector: d => d.OrderOfUrgencyId, resultSelector: (urgency, uList) => new { Key = urgency.Id, Name = urgency.Title, Count = uList.Count() }); return(JsonConvert.SerializeObject(joinedData)); } else { var agents = applicationUserRepository.GetAll(/*a => a.RecordStatus == Helpdesk.Model.Enums.RecordStatus.A*/); var joinedData = agents.GroupJoin(inner: demands, outerKeySelector: agent => agent.AccountId, innerKeySelector: d => d.ApplicationUserAccountId, resultSelector: (agent, dList) => new { Key = agent.Id, Name = agent.FirstName + " " + agent.LastName, Count = dList.Count() }); return(JsonConvert.SerializeObject(joinedData)); } }