public CranFilter getCranTasks(CranFilter Filter) { return CranTaskInfo.LoadCranTasks(Filter); }
public static CranFilter LoadCranTasks(CranFilter Filter = null) { Logger.info("Получение списка заявок на кран", Logger.LoggerSource.server); if (Managers == null) ReadManagers(); if (Filter == null) { Filter = new CranFilter(); Filter.DateStart = DateTime.Now.Date; Filter.DateEnd = DateTime.Now.Date.AddDays(10); } Filter.Managers = Managers; VotGESOrdersEntities eni = new VotGESOrdersEntities(); List<CranTaskInfo> result = new List<CranTaskInfo>(); IQueryable<CranTask> data = from t in eni.CranTask where t.NeedDateStart > Filter.DateStart && t.NeedDateStart < Filter.DateEnd || t.NeedDateEnd > Filter.DateStart && t.NeedDateEnd < Filter.DateEnd || t.NeedDateStart < Filter.DateStart && t.NeedDateEnd > Filter.DateEnd || (t.Allowed && t.AllowedDateStart > Filter.DateStart && t.AllowedDateStart < Filter.DateEnd || t.AllowedDateEnd > Filter.DateStart && t.AllowedDateEnd < Filter.DateEnd || t.AllowedDateStart < Filter.DateStart && t.AllowedDateEnd > Filter.DateEnd) orderby t.CranNumber,t.NeedDateStart select t; foreach (CranTask tbl in data) { result.Add(new CranTaskInfo(tbl)); } foreach (CranTaskInfo task in result) { task.hasCrossTasks = false; task.crossTasks = ""; foreach (CranTaskInfo crossTask in result) { if (crossTask.Number == task.Number) continue; if (crossTask.CranNumber != task.CranNumber) continue; if (task.Denied || crossTask.Denied || task.Cancelled ||crossTask.Cancelled ||task.Finished || crossTask.Finished) continue; bool crossed = false; //Logger.info(String.Format("{0} - {1}",task.Number,crossTask.Number), Logger.LoggerSource.server); if (task.Allowed && crossTask.Allowed) { if (DatesCross(task.AllowDateStart, task.AllowDateEnd, crossTask.AllowDateStart, crossTask.AllowDateEnd)) { crossed = true; } } if (!task.Allowed && crossTask.Allowed) { if (DatesCross(task.NeedStartDate, task.NeedEndDate, crossTask.AllowDateStart, crossTask.AllowDateEnd)) { crossed = true; } } if (task.Allowed && !crossTask.Allowed) { if (DatesCross(task.AllowDateStart, task.AllowDateEnd, crossTask.NeedStartDate, crossTask.NeedEndDate)) { crossed = true; } } if (!task.Allowed && !crossTask.Allowed) { if (DatesCross(task.NeedStartDate, task.NeedEndDate, crossTask.NeedStartDate, crossTask.NeedEndDate)) { crossed = true; } } if (crossed) { task.hasCrossTasks = true; task.crossTasks += string.IsNullOrEmpty(task.crossTasks) ? crossTask.Number.ToString() : "," + crossTask.Number.ToString(); } } } Filter.Data = result; return Filter; }
public ActionResult PrintCranTasks(int year1, int month1, int day1, int year2, int month2, int day2) { Logging.Logger.info("Печать списка заявок на кран",Logging.Logger.LoggerSource.server); DateTime Date1 = new DateTime(year1, month1, day1); DateTime Date2 = new DateTime(year2, month2, day2); CranFilter filter = new CranFilter(); filter.DateStart = Date1; filter.DateEnd = Date2; CranFilter Result = CranTaskInfo.LoadCranTasks(filter); ViewResult view = View("PrintCranTasks", Result); return view; }