Ejemplo n.º 1
0
        public async Task <ActionResult <BirdLogVM> > GetBirdLog(long id)
        {
            var tmpBirdLog = await _context.BirdLog
                             .Where(x => x.BirdLogID == id)
                             .Include(e => e.BirdLogBird)
                             .ThenInclude(e => e.Bird)
                             .FirstAsync();

            if (tmpBirdLog == null)
            {
                return(NotFound());
            }

            BirdLogVM tmpBirgLogsVM = new BirdLogVM();

            tmpBirgLogsVM.BirdLogID          = tmpBirdLog.BirdLogID;
            tmpBirgLogsVM.Location_latitude  = tmpBirdLog.Location_latitude;
            tmpBirgLogsVM.location_longitude = tmpBirdLog.location_longitude;
            tmpBirgLogsVM.Picture            = tmpBirdLog.Picture;
            tmpBirgLogsVM.Temperature        = tmpBirdLog.Temperature;
            tmpBirgLogsVM.Timestamp          = tmpBirdLog.Timestamp;
            tmpBirgLogsVM.UserGUID           = tmpBirdLog.UserGUID;

            tmpBirgLogsVM.Birds = new List <long>();

            foreach (BirdLogBird tmpBLB in tmpBirdLog.BirdLogBird)
            {
                tmpBirgLogsVM.Birds.Add(tmpBLB.BirdID);
            }

            return(tmpBirgLogsVM);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult <PagedBirdLogVM> > GetBirdLog(int page = 1, int pageSize = 100)
        {
            List <BirdLogVM> tmpBirgLogsVM = new List <BirdLogVM>();

            PagedBirdLogVM tmpPagedBirdLogVM = new PagedBirdLogVM();

            var query = _context.BirdLog
                        .Include(e => e.BirdLogBird)
                        .ThenInclude(e => e.Bird);

            var entries = await query.Skip((page - 1) *pageSize).Take(pageSize).ToListAsync();

            var count = await query.CountAsync();

            var totalPages = (int)Math.Ceiling(count / (float)pageSize);

            tmpPagedBirdLogVM.PagingHeader = new PagingHeader(count, page, pageSize, totalPages);

            foreach (BirdLog tmpBL in entries)
            {
                BirdLogVM tmpBLvm = new BirdLogVM();

                tmpBLvm.BirdLogID          = tmpBL.BirdLogID;
                tmpBLvm.Location_latitude  = tmpBL.Location_latitude;
                tmpBLvm.location_longitude = tmpBL.location_longitude;
                tmpBLvm.Picture            = tmpBL.Picture;
                tmpBLvm.Temperature        = tmpBL.Temperature;
                tmpBLvm.Timestamp          = tmpBL.Timestamp;
                tmpBLvm.UserGUID           = tmpBL.UserGUID;

                tmpBLvm.Birds = new List <long>();

                foreach (BirdLogBird tmpBLB in tmpBL.BirdLogBird)
                {
                    tmpBLvm.Birds.Add(tmpBLB.BirdID);
                }

                tmpBirgLogsVM.Add(tmpBLvm);
            }

            tmpPagedBirdLogVM.Items = tmpBirgLogsVM;

            return(tmpPagedBirdLogVM);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <BirdLog> > PostBirdLog(BirdLogVM birdLog)
        {
            BirdLog tmpBirdLog = new BirdLog();

            tmpBirdLog.Location_latitude  = birdLog.Location_latitude;
            tmpBirdLog.location_longitude = birdLog.location_longitude;
            tmpBirdLog.Picture            = birdLog.Picture;
            tmpBirdLog.Temperature        = birdLog.Temperature;
            tmpBirdLog.Timestamp          = birdLog.Timestamp;
            tmpBirdLog.UserGUID           = birdLog.UserGUID;

            foreach (long x in birdLog.Birds)
            {
                var tmpBird = _context.Birds.Find(x);

                var tmpBLB = new BirdLogBird();

                tmpBLB.Bird    = tmpBird;
                tmpBLB.BirdLog = tmpBirdLog;


                if (tmpBird.BirdLogBird == null)
                {
                    tmpBird.BirdLogBird = new List <BirdLogBird>();
                }

                tmpBird.BirdLogBird.Add(tmpBLB);
            }

            _context.BirdLog.Add(tmpBirdLog);

            await _context.SaveChangesAsync();

            birdLog.BirdLogID = tmpBirdLog.BirdLogID;

            return(CreatedAtAction("GetBirdLog", new { id = birdLog.BirdLogID }, birdLog));
        }