public ActionResult SimulationView(SimulationFilter simulation) { if (ModelState.IsValid) { var repository = _container.Resolve <IRepository>(); IDrawingResultFilter filter = new DrawingResultFilterByDate(repository, simulation.InitialDate, simulation.FinalDate); var drawingResults = filter.Filter(); var gameManager = _container.Resolve <IGameManager>(simulation.GameOption.ToString()); foreach (var drawing in drawingResults) { gameManager.PlayGame(drawing.Date, drawing.Type); var list = gameManager.GetNumbers().ToList(); simulation.MatchGameList.Add( new MatchGame() { DrawingResult = drawing, GameOfday = new GameOfday() { Date = drawing.Date, ArrayPic3 = list, DrawType = drawing.Type }, }); gameManager.ClearList(); } } return(View(simulation)); }
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); }
// GET: DrawingResults public ActionResult Index() { DrawingResultFilter view = new DrawingResultFilter(); IDrawingResultFilter filter = new DrawingResultFilterByDate(_repository, view.InitialDate, view.FinalDate); view.DrawingResults = filter.Filter(); return(View(view)); }
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); }