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));
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 6
0
        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));
                }
            }
        }
Exemplo n.º 7
0
        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();
            }
        }