Esempio n. 1
0
        public DrumDetailDto UpdateDrum(int drumId, DrumCreateDto drumDetail)
        {
            if (!DrumExists(drumId))
            {
                throw new BadRequestException($"Drum with Id {drumId} doesn't exist.", BadRequestException.DRUM_DOESNT_EXISTS);
            }
            else
            {
                //get drum manager, site and status id
                DrumManager dm  = _dbContext.DrumManagers.FirstOrDefault(d => d.Name == drumDetail.DrumManager);
                Site        st  = _dbContext.Sites.FirstOrDefault(s => s.Name == drumDetail.Site);
                Status      sts = _dbContext.Status.FirstOrDefault(stt => stt.Status_name == drumDetail.Status);
                if (dm == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.DrumManager} doesn't exist.", BadRequestException.WRONG_DRUM_MANAGER_NAME);
                }
                if (st == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.Site} doesn't exist.", BadRequestException.WRONG_SITE_NAME);
                }
                if (sts == null)
                {
                    throw new BadRequestException($"Drum Manager with name {drumDetail.Status} doesn't exist.", BadRequestException.WRONG_STATUS_NAME);
                }

                Drum drum = _dbContext.Drums.FirstOrDefault(d => d.Id.Equals(drumId));

                drum.DrumNumber       = drumDetail.DrumNumber;
                drum.DrumManager_Id   = dm.Id;
                drum.Latitude         = drumDetail.Latitude;
                drum.Longitude        = drumDetail.Longitude;
                drum.InPositionSince  = drumDetail.InPositionSince;
                drum.Site_Id          = st.Id;
                drum.Status_Id        = sts.Id;
                drum.LastStatusUpdate = DateTime.UtcNow;

                try
                {
                    _dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw new BadRequestException(ex.ToString());
                }
                return(new DrumDetailDto
                {
                    Id = drum.Id,
                    DrumNumber = drum.DrumNumber,
                    CreatedOn = drum.CreatedOn,
                    InPositionSince = drum.InPositionSince,
                    Latitude = drum.Latitude,
                    Longitude = drum.Longitude,
                    DrumManager = drum.DrumManager.Name,
                    Site = drum.Site.Name,
                    Status = drum.Status.Status_name,
                    LastStatusUpdate = drum.LastStatusUpdate
                });
            }
        }
Esempio n. 2
0
        public IHttpActionResult PostDrum(DrumCreateDto drum)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DrumDetailDto CreateDrum = _drumService.CreatDrum(drum.DrumNumber, drum.DrumManager, drum.Site, drum.Status, drum.Latitude, drum.Longitude);

            return(Ok(CreateDrum));
        }
Esempio n. 3
0
        public IHttpActionResult PutDrum(int id, DrumCreateDto drum)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            DrumDetailDto drumUp = _drumService.UpdateDrum(id, drum);

            return(Ok(drumUp));
        }