public IHttpActionResult PostCamxEvent(CamxEvent camxEvent) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.CamxEvents.Add(camxEvent); try { db.SaveChanges(); } catch (DbUpdateException) { if (CamxEventExists(camxEvent.ItemInstanceID)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = camxEvent.ItemInstanceID }, camxEvent)); }
public IHttpActionResult PutCamxEvent(Guid id, CamxEvent camxEvent) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != camxEvent.ItemInstanceID) { return(BadRequest()); } db.Entry(camxEvent).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CamxEventExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
private void AddEventBtn_Click(object sender, RoutedEventArgs e) { var rando = new Random(); // var assetNames = new List<string>(); var timeBase = 60.0; var currTime = new DateTime(2017, 12, 2); currTime = currTime.AddHours(8); List <CamxEvent> events = new List <CamxEvent>(); // this will create 400 rows to simulate a shift for (var i = 0; i < 10; i++) { var thisTime = currTime.AddSeconds(timeBase); currTime = thisTime; timeBase += 0.1; var camx = new CamxEvent { TimeStamp = thisTime, ItemInstanceID = Guid.NewGuid(), PlantID = "Plant 1", LineID = "Line 1", AssetID = "Asset 1", EventTypeName = "ItemWorkComplete" }; events.Add(camx); } DbEntities.CamxEvents.AddRange(events); DbEntities.SaveChanges(); }
public IHttpActionResult GetCamxEvent(Guid id) { CamxEvent camxEvent = db.CamxEvents.Find(id); if (camxEvent == null) { return(NotFound()); } return(Ok(camxEvent)); }
public IHttpActionResult DeleteCamxEvent(Guid id) { CamxEvent camxEvent = db.CamxEvents.Find(id); if (camxEvent == null) { return(NotFound()); } db.CamxEvents.Remove(camxEvent); db.SaveChanges(); return(Ok(camxEvent)); }
private static void CreateDataForAllAssets() { var rando = new Random(); var assetNames = DbEntities.Assets.Select(x => x.AssetID).ToList(); while (true) { foreach (var asset in assetNames) { // Console.WriteLine("Begin Generate data for: " + asset); var lineName = DbEntities.Assets.Where(x => x.AssetID == asset).Select(x => x.LineID).FirstOrDefault(); var plantName = DbEntities.Lines.Where(x => x.LineID == lineName).Select(x => x.PlantID) .FirstOrDefault(); var today = DateTime.UtcNow; TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); today = TimeZoneInfo.ConvertTimeFromUtc(today, tz); var itemStart = new CamxEvent { TimeStamp = today, ItemInstanceID = Guid.NewGuid(), PlantID = plantName, LineID = lineName, AssetID = asset, EventTypeName = "ItemWorkStart" }; today = DateTime.UtcNow; tz = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); today = TimeZoneInfo.ConvertTimeFromUtc(today, tz); var itemComplete = new CamxEvent { TimeStamp = today, ItemInstanceID = Guid.NewGuid(), PlantID = plantName, LineID = lineName, AssetID = asset, EventTypeName = "ItemWorkComplete" }; DbEntities.CamxEvents.Add(itemStart); DbEntities.CamxEvents.Add(itemComplete); DbEntities.SaveChanges(); Thread.Sleep(rando.Next(7500, 12500)); } } }
private void CreateDataForAllAssets() { var rando = new Random(); var assetNames = DbEntities.Assets.Select(x => x.AssetID).ToList(); var eventsToSend = new List <CamxEvent>(); foreach (var asset in assetNames) { Console.WriteLine("Begin Generate data for: " + asset); var counter = 0; var timeBase = 60; var currTime = new DateTime(2017, 12, 1); List <CamxEvent> events = new List <CamxEvent>(); List <string> csvEvents = new List <string>(); csvEvents.Add("RowID,ItemInstanceID,PlantID,LineID,AssetID,EventTypeName,TimeStamp"); var lineName = DbEntities.Assets.Where(x => x.AssetID == asset).Select(x => x.LineID).FirstOrDefault(); var plantName = DbEntities.Lines.Where(x => x.LineID == lineName).Select(x => x.PlantID) .FirstOrDefault(); while (currTime < DateTime.Now) { if (counter % 500 == 0) { Console.WriteLine("Asset: " + asset + " is at " + counter + " items."); } var thisTime = currTime.AddSeconds(timeBase + rando.Next(0, 30)); currTime = thisTime; var itemStart = new CamxEvent { TimeStamp = thisTime, ItemInstanceID = Guid.NewGuid(), PlantID = plantName, LineID = lineName, AssetID = asset, EventTypeName = "ItemWorkStart" }; var itemComplete = new CamxEvent { TimeStamp = thisTime, ItemInstanceID = Guid.NewGuid(), PlantID = plantName, LineID = lineName, AssetID = asset, EventTypeName = "ItemWorkComplete" }; counter += 2; events.Add(itemStart); var itemStartCSV = "," + itemStart.ItemInstanceID + "," + itemStart.PlantID + "," + itemStart.LineID + "," + itemStart.AssetID + "," + itemStart.EventTypeName + "," + itemStart.TimeStamp; csvEvents.Add(itemStartCSV); events.Add(itemComplete); var itemCompleteCSV = "," + itemComplete.ItemInstanceID + "," + itemComplete.PlantID + "," + itemComplete.LineID + "," + itemComplete.AssetID + "," + itemComplete.EventTypeName + "," + itemComplete.TimeStamp; csvEvents.Add(itemCompleteCSV); } Console.WriteLine("Sending data to database for: " + asset); var fileName = @"C:\Users\lords\Documents\Data\" + asset + ".csv"; File.WriteAllLines(fileName, csvEvents); // using (SqlConnection connection = new SqlConnection( // "Server=tcp:teamsteelcase.database.windows.net,1433;Initial Catalog=SteelcaseDB;Persist Security Info=False;User ID=teamsteelcase;Password=Cargoesvroom!;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;") // ) // { // SqlBulkCopy bulkCopy = new SqlBulkCopy( // connection, // // SqlBulkCopyOptions.TableLock | // // SqlBulkCopyOptions.FireTriggers | // // SqlBulkCopyOptions.UseInternalTransaction, // // null // ); // bulkCopy.DestinationTableName = "dbo.CamxEvent"; // connection.Open(); // bulkCopy.WriteToServer(events); // connection.Close(); // } // DbEntities.CamxEvents.AddRange(events); // DbEntities.SaveChanges(); } }