Esempio n. 1
0
        public List <Dto.RestroomsByRoutes> GetAllRestroomsByRoutes()
        {
            var restrooms         = UnitOfWork.GetRestroomsByDivision().OrderBy(r => r.Route);
            var restroomsByRoutes = new List <Dto.RestroomsByRoutes>();

            foreach (var items in restrooms.GroupBy(r => r.Route))
            {
                var restroomInfo = items.FirstOrDefault();
                if (restroomInfo != null)
                {
                    var r = new Dto.RestroomsByRoutes()
                    {
                        Route           = restroomInfo.Route,
                        DestinationName = restroomInfo.DestinationName,
                        Restrooms       = items.Select(Converter.ToModel).ToList()
                    };

                    restroomsByRoutes.Add(r);
                }
            }

            return(restroomsByRoutes);
        }
Esempio n. 2
0
        public RestroomsPrint GetRestroomsByDivision()
        {
            var restroomsByDivision = new List <Dto.RestroomsByDivision>();
            var restrooms           = UnitOfWork.GetRestroomsByDivision().ToList();
            var version             = DateTime.Now.ToString("yy.MMdd.HHmm");

            foreach (var rDivision in restrooms.GroupBy(r => r.Division))
            {
                var rr = new List <Dto.RestroomsByRoutes>();

                foreach (var items in rDivision.GroupBy(r => r.Route))
                {
                    var restroomInfo = items.FirstOrDefault();
                    if (restroomInfo != null)
                    {
                        var r = new Dto.RestroomsByRoutes()
                        {
                            Route           = restroomInfo.Route,
                            DestinationName = restroomInfo.DestinationName,
                            Restrooms       = items.Select(Converter.ToModel).ToList()
                        };

                        rr.Add(r);
                    }
                }

                var rd = new Dto.RestroomsByDivision()
                {
                    Division          = rDivision.FirstOrDefault()?.Division,
                    RestroomsByRoutes = rr,
                    CurrentVersion    = version + "." + rDivision.FirstOrDefault()?.Division
                };
                restroomsByDivision.Add(rd);
            }

            var restroomsByRoutes = new List <Dto.RestroomsByRoutes>();

            foreach (var items in restrooms.OrderByNatural(r => r.Route).GroupBy(r => r.Route))
            {
                var restroomInfo = items.FirstOrDefault();
                if (restroomInfo != null)
                {
                    var r = new Dto.RestroomsByRoutes()
                    {
                        Route           = restroomInfo.Route,
                        DestinationName = restroomInfo.Division + " " + restroomInfo.DestinationName,
                        Restrooms       = items.Select(Converter.ToModel).ToList()
                    };

                    restroomsByRoutes.Add(r);
                }
            }

            var restroomsById   = restrooms.GroupBy(r => r.RestroomId).ToList();
            var uniqueRestrooms = new List <RestroomReport>();

            foreach (var restroom in restroomsById)
            {
                var restroomInfo = restroom.FirstOrDefault();
                if (restroomInfo != null)
                {
                    uniqueRestrooms.Add(restroomInfo);
                }
            }

            var results = new RestroomsPrint
            {
                Restrooms           = uniqueRestrooms.Select(Converter.ToModel).ToPagedList(),
                RestroomsByRoutes   = restroomsByRoutes,
                RestroomsByDivision = restroomsByDivision
            };

            return(results);
        }