public void BeforeTest() { var exceptionEntityList = new List <WasteManagementEventEntity>(); WasteManagementEventEntity item1 = _testData.CreateWasteManagementEvent(); item1.EventId = "141ee716-7995-442c-94a6-ce4ae6e13534"; WasteManagementEventEntity item2 = _testData.CreateWasteManagementEvent(); item2.EventId = "9245f8f5-9882-4e8d-a845-b5ff08e10087"; exceptionEntityList.Add(item1); exceptionEntityList.Add(item2); var exceptionEntityQueryable = exceptionEntityList.AsQueryable(); _dbSetMock = new Mock <DbSet <WasteManagementEventEntity> >(); _dbSetMock.As <IQueryable <WasteManagementEventEntity> >().Setup(m => m.Expression).Returns(exceptionEntityQueryable.Expression); _dbSetMock.As <IQueryable <WasteManagementEventEntity> >().Setup(m => m.ElementType).Returns(exceptionEntityQueryable.ElementType); _dbSetMock.As <IQueryable <WasteManagementEventEntity> >().Setup(m => m.GetEnumerator()).Returns(exceptionEntityQueryable.GetEnumerator); _dbSetMock.As <IQueryable <WasteManagementEventEntity> >().Setup(m => m.Provider).Returns(exceptionEntityQueryable.Provider); _dbContextMock = new Mock <WasteManagementDbContext>(); _dbContextMock.Setup(i => i.WasteManagementEvents).Returns(_dbSetMock.Object); _controller = new EventController(_dbContextMock.Object); }
public ActionResult <WasteManagementEvent> Get(string eventId) { WasteManagementEventEntity exceptionEntity = _dbContext.WasteManagementEvents .Include(ei => ei.Images) .Include(ei => ei.Videos) .Include(ei => ei.ExceptionDetails) .Where(ei => ei.EventId == eventId).FirstOrDefault(); if (exceptionEntity == null) { return(NoContent()); } return(_transformer.TransformToExceptionModel(exceptionEntity)); }
public WasteManagementEvent TransformToExceptionModel(WasteManagementEventEntity entity) { WasteManagementEvent wasteManagementEventModel = new WasteManagementEvent { Vin = entity.Vin, AccountId = entity.AccountId, EventId = entity.EventId, EventType = entity.EventType, TransactionId = entity.TransactionId, DateTime = TimeZoneInfo.ConvertTime(entity.DateTime, pstTimeZone, TimeZoneInfo.Utc), Address = new Address() { Street1 = entity.Street1, Street2 = entity.Street2, City = entity.City, ZipCode = entity.ZipCode, State = entity.State, Country = entity.Country, }, Latitude = entity.Latitude, Longitude = entity.Longitude, ContainerColor = entity.ContainerColor, ContainerSize = entity.ContainerSize, VideoStatus = entity.VideoStatus, ContainerType = entity.ContainerType }; if (entity.ExceptionDetails != null) { wasteManagementEventModel.ExceptionDetails = new ExceptionDetails { Type = entity.ExceptionDetails.Type, Description = entity.ExceptionDetails.Description, ContactName = entity.ExceptionDetails.ContactName, ContactNumber = entity.ExceptionDetails.ContactNumber, Notes = entity.ExceptionDetails.Notes, PictureUrls = TransformExceptionUrlEnityListToArray(entity.Images) }; } if (entity.Videos != null) { wasteManagementEventModel.VideoUrls = TransformToVideoUrlList(entity.Videos); } return(wasteManagementEventModel); }
public ActionResult Create([FromBody] WasteManagementEvent data) { bool isRecordExists = _dbContext.WasteManagementEvents.Any(o => o.EventId == data.EventId); if (!isRecordExists) { WasteManagementEventEntity wasteManagementEvent = _transformer.TransformToExceptionEntity(data); _dbContext.WasteManagementEvents.Add(wasteManagementEvent); _dbContext.SaveChanges(); return(new StatusCodeResult(201)); } else { return(new ValidationFailedResult(new ValidationResultModel(string.Format("Record with EventId \"{0}\" already exists.", data.EventId)))); } }
public void TestTransformToExceptionModel() { WasteManagementEventEntity wasteManagementEventEntity = _testData.CreateWasteManagementEvent(); WasteManagementEvent result = _transformer.TransformToExceptionModel(wasteManagementEventEntity); Assert.AreEqual(wasteManagementEventEntity.Vin, result.Vin); Assert.AreEqual(wasteManagementEventEntity.AccountId, result.AccountId); Assert.AreEqual(wasteManagementEventEntity.EventId, result.EventId); Assert.AreEqual(wasteManagementEventEntity.EventType, result.EventType); Assert.AreEqual(wasteManagementEventEntity.TransactionId, result.TransactionId); Assert.AreEqual(wasteManagementEventEntity.DateTime, result.DateTime); Assert.AreEqual(wasteManagementEventEntity.Longitude, result.Longitude); Assert.AreEqual(wasteManagementEventEntity.Latitude, result.Latitude); Assert.AreEqual(wasteManagementEventEntity.Street1, result.Address.Street1); Assert.AreEqual(wasteManagementEventEntity.Street2, result.Address.Street2); Assert.AreEqual(wasteManagementEventEntity.City, result.Address.City); Assert.AreEqual(wasteManagementEventEntity.State, result.Address.State); Assert.AreEqual(wasteManagementEventEntity.ZipCode, result.Address.ZipCode); Assert.AreEqual(wasteManagementEventEntity.Country, result.Address.Country); Assert.AreEqual(wasteManagementEventEntity.ExceptionDetails.Type, result.ExceptionDetails.Type); Assert.AreEqual(wasteManagementEventEntity.ContainerColor, result.ContainerColor); Assert.AreEqual(wasteManagementEventEntity.ContainerSize, result.ContainerSize); Assert.AreEqual(wasteManagementEventEntity.ExceptionDetails.Description, result.ExceptionDetails.Description); Assert.AreEqual(wasteManagementEventEntity.ExceptionDetails.Notes, result.ExceptionDetails.Notes); List <string> urls = new List <string>(result.ExceptionDetails.PictureUrls); Assert.IsTrue(urls.Any(item => item == TestDataCreator.Url1)); Assert.IsTrue(urls.Any(item => item == TestDataCreator.Url2)); VideoUrl videoUrl = result.VideoUrls.First(); VideoEntity videoUrlEntity = wasteManagementEventEntity.Videos.First(); Assert.AreEqual(videoUrl.Heading, videoUrlEntity.Heading); Assert.AreEqual(videoUrl.Latitude, videoUrlEntity.Latitude); Assert.AreEqual(videoUrl.Longitude, videoUrlEntity.Longitude); Assert.AreEqual(videoUrl.MDTUrl, videoUrlEntity.MDTUrl); Assert.AreEqual(videoUrl.Url, videoUrlEntity.VideoURL); Assert.AreEqual(videoUrl.Speed, videoUrlEntity.Speed); Assert.AreEqual(videoUrl.EndDateTime, videoUrlEntity.EndDateTime); Assert.AreEqual(videoUrl.StartDateTime, videoUrlEntity.StartDateTime); Assert.AreEqual(videoUrl.Camera, videoUrlEntity.CameraChannel); }
public WasteManagementEventEntity TransformToExceptionEntity(WasteManagementEvent model) { WasteManagementEventEntity wasteManagementEventEntity = new WasteManagementEventEntity { Vin = model.Vin, AccountId = model.AccountId, EventId = model.EventId, EventType = model.EventType, TransactionId = model.TransactionId, DateTime = TimeZoneInfo.ConvertTimeFromUtc(model.DateTime, pstTimeZone), Street1 = model.Address.Street1, Street2 = model.Address.Street2, City = model.Address.City, ZipCode = model.Address.ZipCode, State = model.Address.State, Country = model.Address.Country, Latitude = model.Latitude, Longitude = model.Longitude, DateReceived = TimeZoneInfo.ConvertTimeFromUtc(System.DateTime.UtcNow, pstTimeZone), ContainerColor = model.ContainerColor, ContainerSize = model.ContainerSize, ContainerType = model.ContainerType }; if (model.ExceptionDetails != null) { wasteManagementEventEntity.ExceptionDetails = new ExceptionDetailsEntity { Type = model.ExceptionDetails.Type, ContactName = model.ExceptionDetails.ContactName, ContactNumber = model.ExceptionDetails.ContactNumber, Description = model.ExceptionDetails.Description, Notes = model.ExceptionDetails.Notes }; wasteManagementEventEntity.Images = TransformToExceptionUrlEntityList(model.ExceptionDetails.PictureUrls); } if (model.VideoUrls != null) { wasteManagementEventEntity.Videos = TransformToVideoUrlEntityList(model.EventId, model.VideoUrls); } return(wasteManagementEventEntity); }
public ActionResult Update(string eventId, [FromBody] Video data) { var isRecordExists = _dbContext.WasteManagementEvents.Any(o => o.EventId == eventId); if (isRecordExists) { WasteManagementEventEntity wasteManagementEvent = _dbContext.WasteManagementEvents.Where(o => o.EventId == eventId).First(); wasteManagementEvent.VideoStatus = data.VideoStatus; _dbContext.WasteManagementEvents.Update(wasteManagementEvent); ICollection <VideoEntity> videoUrls = _transformer.TransformToVideoUrlEntityList(eventId, data.VideoUrls); if (videoUrls.Count() != 0) { _dbContext.Videos.AddRange(videoUrls); } _dbContext.SaveChanges(); return(new OkResult()); } else { return(new ValidationFailedResult(new ValidationResultModel(string.Format("Record with EventId \"{0}\" doesn't exist.", eventId)))); } }
public WasteManagementEventEntity CreateWasteManagementEvent() { var urls = new List <ImageEntity> { new ImageEntity { ImageURL = Url2 }, new ImageEntity { ImageURL = Url1 } }; var videoUrls = new List <VideoEntity> { new VideoEntity() { Altitude = Altitude, StartDateTime = VideoStartDateTime, EndDateTime = VideoEndDateTime, Heading = Heading, Latitude = VideoLatitude, Longitude = VideoLongitude, Speed = Speed, MDTUrl = "www.yahoo.com/video1", VideoURL = "www.yahoo.com/video1", CameraChannel = 1 } }; var wasteManagementEventEntity = new WasteManagementEventEntity { Vin = Vin, EventId = EventId, AccountId = AccountId, EventType = EventType, TransactionId = TransactionId, DateTime = System.DateTime.Now.ToUniversalTime(), Longitude = Longitude, Latitude = Latitude, Street1 = Street1, Street2 = Street2, City = City, State = State, ZipCode = ZipCode, Country = Country, ContainerColor = ContainerColor, ContainerSize = ContainerSize, ExceptionDetails = new ExceptionDetailsEntity() { Type = ExceptiuonType, Description = ExceptionDescription, Notes = ExceptionNotes }, Images = urls, Videos = videoUrls }; return(wasteManagementEventEntity); }