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));
        }
Example #2
0
        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);
        }
Example #3
0
        // 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));
        }
Example #4
0
        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));
        }
Example #5
0
        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));
        }
Example #6
0
        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);
        }