public List <int> GetPath(List <int> listNumber, DateTime initialDate, DateTime finalDate, DrawType type) { var filterbyDate = new DrawingResultFilterByDate(_repository, initialDate, finalDate); DrawingState state = (DrawingState)Enum.Parse(typeof(DrawingState), type.ToString()); var filterByeType = new DrawingResultFilterByType(filterbyDate, state); var drawingList = filterByeType.Filter().OrderBy(d => d.Date).ToList(); List <int> list = new List <int>(); int days = 0; DateTime iniDate = initialDate; foreach (var drawing in drawingList) { if (IsMemberDrawing(drawing, listNumber)) { days = (int)drawing.Date.Subtract(iniDate).TotalDays; list.Add(days); days = 0; iniDate = drawing.Date; } } days = -1 * (int)drawingList.Last().Date.Subtract(iniDate).TotalDays; list.Add(days); return(list); }
public ActionResult Index(DrawingResultFilter drawing) { IDrawingResultFilter filter = new DrawingResultFilterByDate( _repository, drawing.InitialDate, drawing.FinalDate); var filterParameter = new DrawingResultFilterByParameter(filter, drawing.Parameter, drawing.ParameterType); var filterType = new DrawingResultFilterByType(filterParameter, drawing.DrawingState); drawing.DrawingResults = filterType.Filter(); return(View(drawing)); }
public ActionResult WeekResult() { WeekResultFilter weekFilter = new WeekResultFilter(); DrawingState state = (DrawingState)Enum.Parse(typeof(DrawingState), weekFilter.DrawType.ToString()); IDrawingResultFilter filterByDate = new DrawingResultFilterByDate(_repository, weekFilter.InitialDate, weekFilter.FinalDate); IDrawingResultFilter filter = new DrawingResultFilterByType(filterByDate, state); var list = filter.Filter(); WeekResultManager manager = new WeekResultManager(); weekFilter.WeekResultList = manager.CreateWeekResult(list); return(View(weekFilter)); }
public List <Delay> GetDelays(DateTime initialDate, DateTime finalDate, DrawType type) { var delayList = new List <Delay>(); var filterbyDate = new DrawingResultFilterByDate(_repository, initialDate, finalDate); DrawingState state = (DrawingState)Enum.Parse(typeof(DrawingState), type.ToString()); var filterByeType = new DrawingResultFilterByType(filterbyDate, state); var drawingList = filterByeType.Filter(); DateTime iniLast3year = initialDate.AddYears(-3); var drawingList3YearEarlier = _repository.GetList <DrawingResult>( d => d.Type == type && d.Date >= iniLast3year && d.Date < initialDate) .ToList(); var drawingListComplette = drawingList3YearEarlier .Concat(drawingList) .OrderByDescending(d => d.Date) .ToList(); foreach (var drawing in drawingList) { delayList.Add( new Delay() { Days = AmountDaysOfLastDrawing(drawing, drawingListComplette), DrawingResult = drawing } ); } return(delayList); }
public void OnNavigatedTo(INavigationParameters parameters) { if (parameters.Count == 0) { return; } var initialDate = (DateTime)parameters["initialDate"]; var finalDate = (DateTime)parameters["finalDate"]; var drawingState = (DrawingState)parameters["drawingState"]; var parameterType = (ParameterType)parameters["parameterType"]; var number = (int?)parameters["number"]; var filterByDate = new DrawingResultLocalFilterByDate(_dataAccessService, initialDate, finalDate); var filterByType = new DrawingResultFilterByType(filterByDate, drawingState); var filterByParameter = new DrawingResultFilterByParameter(filterByType, number, parameterType); var list = filterByParameter.Filter(); DrawingResultList = new ObservableCollection <DrawingResult>(list); }