예제 #1
0
 public Quaternion(Reading.ReadingBase reader)
 {
     X = reader.ReadSingle("X");
     Y = reader.ReadSingle("Y");
     Z = reader.ReadSingle("Z");
     W = reader.ReadSingle("W");
 }
예제 #2
0
 public MovementJump(Reading.ReadingBase reader)
 {
     velocity = reader.ReadSingle("MovementJump velocity");
     sinAngle = reader.ReadSingle("MovementJump sinAngle");
     cosAngle = reader.ReadSingle("MovementJump cosAngle");
     xyspeed = reader.ReadSingle("MovementJump xyspeed");
 }
예제 #3
0
 public MovementFall(Reading.ReadingBase reader)
 {
     sinAngle = reader.ReadSingle("MovementFall sinAngle");
     cosAngle = reader.ReadSingle("MovementFall cosAngle");
     xyspeed = reader.ReadSingle("MovementFall xyspeed");
     velocity = reader.ReadSingle("MovementFall velocity");
 }
예제 #4
0
 public Vector4(Reading.ReadingBase reader)
 {
     X = reader.ReadSingle("X");
     Y = reader.ReadSingle("Y");
     Z = reader.ReadSingle("Z");
     O = reader.ReadSingle("O");
 }
예제 #5
0
 public ReadingRangeAggregate(
     TimeRange timeStamp,
     ReadingValuesRange ranges
 )
     : base(ranges)
 {
     TimeStamp = new TimeRange(timeStamp);
     _min = _max = null;
 }
예제 #6
0
 private static Reading ToReading(double x, double y, double z)
 {
     var reading = new Reading
         {
             X = x,
             Y = y,
             Z = z,
         };
     return reading;
 }
예제 #7
0
 private static Reading ToReading(AccelerometerReading sensorReading)
 {
     var reading = new Reading
         {
             X = sensorReading.Acceleration.X,
             Y = sensorReading.Acceleration.Y,
             Z = sensorReading.Acceleration.Z,
         };
     return reading;
 }
예제 #8
0
        public ReadingRangeAggregate(
			TimeRange timeStamp,
			Range temperature,
			Range humidity,
			Range pressure,
			Range windSpeed,
			Range windDirection
		)
            : base(temperature, humidity, pressure, windSpeed, windDirection)
        {
            TimeStamp = new TimeRange(timeStamp);
            _min = _max = null;
        }
예제 #9
0
 public override void AddActionPreferencesToList(ConsideredActions alreadyConsidered, IList<string> log)
 {
     var bestBook = Mage.GetBestBookToRead(_ability);
     if (bestBook != null)
     {
         double gain = Mage.GetBookLevelGain(bestBook);
         double effectiveDesire = _desireFunc(gain, ConditionDepth);
         if (effectiveDesire > 0.01)
         {
             log.Add("Reading " + bestBook.Title + " worth " + (effectiveDesire).ToString("0.00"));
             Reading readingAction = new Reading(bestBook, effectiveDesire);
             alreadyConsidered.Add(readingAction);
         }
     }
 }
예제 #10
0
 public Reading GetRecord(int rec_number)
 {
     var resp = ReadNthReading(rec_number);
     if (resp[1] != 0x06)
     {
         Console.WriteLine("Invalid number of records");
         return null;
     }
     var date = BitConverter.ToInt32(resp, 2);
     var glucose = BitConverter.ToInt32(resp, 6);
     var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
     dtDateTime = dtDateTime.AddSeconds(date).ToLocalTime();
     var rec = new Reading {Glucose = glucose, ReadingDate = dtDateTime};
     Console.WriteLine("Read record {0} : {1}", rec_number, rec);
     return rec;
 }
예제 #11
0
        public void AggregateMeanTest()
        {
            var start = new DateTime(2011, 6, 30, 22, 18, 58);
            var values = new[] {
                new ReadingValues(1.0,	2.0,		Double.NaN,180,	4.0),
                new ReadingValues(2.0,	Double.NaN,	Double.NaN,45,	6.0),
                new ReadingValues(3.0,	4.0,		Double.NaN,315,	Double.NaN),
                new ReadingValues(Double.NaN,Double.NaN,Double.NaN,Double.NaN,Double.NaN)
            };
            var readings = new Reading[(values.Length*2)+2];
            for(var i = 0; i < readings.Length; i++) {
                readings[i] = new Reading(
                    start.Add(new TimeSpan(0,0,0,i)),
                    values[i % values.Length]
                );
            }

            var means = Stats.StatsUtil.AggregateMean(readings, TimeUnit.Minute).ToArray();

            Assert.That(means,Has.Length.EqualTo(2));

            Assert.AreEqual(1.5, means[0].Temperature);
            Assert.AreEqual(2, means[0].Pressure);
            Assert.AreEqual(Double.NaN, means[0].Humidity);
            Assert.AreEqual(
                (values[0].WindDirection + values[1].WindDirection) / 2.0,
                means[0].WindDirection, 0.000000000001
            );
            Assert.AreEqual(5, means[0].WindSpeed);
            Assert.AreEqual(new DateTime(2011,6,30,22,18,0), means[0].BeginStamp);
            Assert.AreEqual(new DateTime(2011,6,30,22,19,0), means[0].EndStamp);

            Assert.AreEqual(2, means[1].Temperature);
            Assert.AreEqual(3, means[1].Pressure);
            Assert.AreEqual(Double.NaN, means[1].Humidity);
            Assert.AreEqual(0, means[1].WindDirection, 0.000000000001);
            Assert.AreEqual(5, means[1].WindSpeed);
            Assert.AreEqual(new DateTime(2011, 6, 30, 22, 19, 0), means[1].BeginStamp);
            Assert.AreEqual(new DateTime(2011, 6, 30, 22, 20, 0), means[1].EndStamp);
        }
예제 #12
0
        public static ReadingViewModel ToViewModel(this Reading reading)
        {
            var vm = new ReadingViewModel()
            {
                Id                       = reading.ReadingId,
                ReadDate                 = reading.ReadDate,
                TripId                   = reading.TripId,
                Latitude                 = reading.Latitude,
                Longitude                = reading.Longitude,
                AirIntakeTemperature     = reading.AirIntakeTemperature,
                AmbientAirTemperature    = reading.AmbientAirTemperature,
                EngineCoolantTemperature = reading.EngineCoolantTemperature,
                OilTemperature           = reading.OilTemperature,
                EngineRpm                = reading.EngineRpm,
                Speed                    = reading.Speed,
                MassAirFlow              = reading.MassAirFlow,
                ThrottlePosition         = reading.ThrottlePosition,
                FuelType                 = reading.FuelType,
                FuelLevel                = reading.FuelLevel
            };

            return(vm);
        }
예제 #13
0
파일: STMPE811.cs 프로젝트: LeTsoy/Samples
        /// <summary>
        /// Get a reading from the touch screen.
        /// </summary>
        /// <returns>A <see cref="Reading"/> with data about the touch status and coordinates</returns>
        public Reading ReadTouch()
        {
            uint    valueX;
            uint    valueY;
            uint    valueZ;
            UInt32  rawValue;
            Reading reading = new Reading();

            byte[] buffer = new byte[1];

            //Debug.WriteLine("Current FIFO " + FifoSize());

            if (FifoSize() > 0)
            {
                // read X, Y & Z
                buffer = new byte[4];
                if (_touchController.WriteReadPartial(new byte[] { REGISTER_TSC_DATA_XYZ }, buffer).Status == I2cTransferStatus.FullTransfer)
                {
                    rawValue = (((UInt32)buffer[0] << 24)) | ((UInt32)(buffer[1] << 16)) | ((UInt32)(buffer[2] << 8)) | ((UInt32)(buffer[3] << 0));

                    valueX = (rawValue >> 20) & 0x00000FFF;
                    valueY = (rawValue >> 8) & 0x00000FFF;
                    valueZ = rawValue & 0x000000FF;

                    reading = new Reading(valueX, valueY, valueZ);
                }
            }

            //Debug.WriteLine("Current FIFO " + FifoSize());

            // reset FIFO
            //ResetFIFO();

            //Debug.WriteLine("Current FIFO " + FifoSize());

            return(reading);
        }
예제 #14
0
        public void TestHogOnAllData()
        {
            var testResultsPath = @"C:\Users\Serban\Pictures\LeafHogs\testData\zDataTestsPerformance.txt";
            var confidencePath  = @"C:\Users\Serban\Pictures\LeafHogs\testData\zDataTestsConfidence.txt";

            for (int i = 0; i < 10; i++) // number of data sets
            {
                var path = @"C:\Users\Serban\Pictures\LeafHogs\testData\data" + i + ".txt";
                var data = new Reading(path);
                Link.RenewalFactor = 0;
                Link.Step          = 0.1;
                var sut = new NeuralNet(2, 10, data.InputValues[0], data.ExpectedResults[0]);

                var iterations = sut.TrainAdaptive(data.InputValues, data.ExpectedResults, -0.00005, 250000); //put iteration limit?

                sut.PrintWeights(@"C:\Users\Serban\Pictures\LeafHogs\testData\trainedOnData" + i + ".txt", iterations);

                var testDataPath = @"C:\Users\Serban\Pictures\LeafHogs\testData\test" + i + ".txt";
                var testData     = new Reading(testDataPath);

                string results    = (i + 1).ToString() + " ";
                string confidence = (i + 1).ToString() + " ";

                for (int testSet = 0; testSet < testData.InputValues.Count; testSet++)
                {
                    sut.ChangeData(testData.InputValues[testSet], testData.ExpectedResults[testSet]);
                    results    += sut.CalculatePerformance() + " ";
                    confidence += sut.CalculateConfidence() + " ";
                }

                results    += Environment.NewLine;
                confidence += Environment.NewLine;

                File.AppendAllText(testResultsPath, results);
                File.AppendAllText(confidencePath, confidence);
            }
        }
예제 #15
0
 public Reading GetRecord(int n)
 {
     var high = (byte) (n/256);
     var low = (byte) (n%256);
     Console.WriteLine("Reading record {0} (1)...", n);
     SendCommandFrame(0x25, low, high, 0, 0);
     Console.WriteLine("Waiting for record (1)...");
     var a = ReadCommandFrame();
     Console.WriteLine("Reading record {0} (2)...", n);
     SendCommandFrame(0x26, low, high, 0, 0);
     Console.WriteLine("Waiting for record (2)...");
     var b = ReadCommandFrame();
     var h = a[3];
     var mi = a[2];
     var ymd = a[1]*256 + a[0];
     var d = ymd & 0x1F;
     var mo = (ymd & 0x1E0) >> 5;
     var y = ((ymd & 0xFE00) >> 9) + 2000;
     var recDate = new DateTime(y, mo, d, h, mi, 0);
     var glucose = b[1]*256 + b[0];
     var rec = new Reading {ReadingDate = recDate, Glucose = glucose};
     Console.WriteLine("Reading: {0}", rec);
     return rec;
 }
예제 #16
0
        public override Reading getReading()
        {
            if (WiseSite.och == null)
            {
                return(null);
            }

            Reading r = new Reading
            {
                stale = IsStale("CloudCover")
            };

            if (r.stale)
            {
                r.safe   = false;
                r.usable = false;
                _status  = "Stale data";
            }
            else
            {
                r.value = WiseSite.och.CloudCover;

                if (_max == 0)
                {
                    r.safe = r.value == 0.0;
                }
                else
                {
                    r.safe = r.value <= _max;
                }
                r.usable = true;
                _status  = string.Format("Cloud cover {0:f1} (max: {1:f1})", r.value, _max);
            }

            return(r);
        }
예제 #17
0
        /// <summary>Constructs a new instance.</summary>
        /// <param name="socketNumber">The socket that this module is plugged in to.</param>
        public PulseOximeter(string ComId) {
            this.IsProbeAttached = false;
            this.LastReading = null;

            //Socket socket = Socket.GetSocket(socketNumber, true, this, null);
            serialPort = SerialDevice.FromId(ComId);
            //this.serialPort = GTI.SerialFactory.Create(socket, 4800, GTI.SerialParity.Even, GTI.SerialStopBits.One, 8, GTI.HardwareFlowControl.NotRequired, this);

            serialPort.BaudRate = 4800;
            serialPort.Parity = SerialParity.Even;
            serialPort.StopBits = SerialStopBitCount.One;
            serialPort.DataBits = 8;
            serialPort.Handshake = SerialHandshake.None;
            _outStream = serialPort.OutputStream;
            _inStream = serialPort.InputStream;
            SerialWriter = new DataWriter(_outStream);
            SerialReader = new DataReader(_inStream);
            //this.serialPort.ReadTimeout = new TimeSpan(0, 0, 0, 0, 500);
            //this.serialPort.WriteTimeout = new TimeSpan(0, 0, 0, 0, 500);
            //this.serialPort.Open();

            this.workerThread = new Thread(this.DoWork);
            this.workerThread.Start();
        }
예제 #18
0
        //------------------------------------------------------------------------------

        uint ReadPayload(byte[] buffer, uint offset, uint numBytesAvailable)
        {
            uint numBytes = Math.Min(numBytesAvailable, mPayloadLen - mWritePosition);

            if (IsMasked)
            {
                for (uint i = 0; i < numBytes; i++, mWritePosition++)
                {
                    Payload[mWritePosition] = (byte)(buffer[offset++] ^ mMask[mWritePosition % 4]);
                }
            }
            else
            {
                Array.Copy(buffer, offset, Payload, mWritePosition, numBytes);
                mWritePosition += numBytes;
            }

            if (mWritePosition >= mPayloadLen)
            {
                mState = Reading.Complete;
            }

            return(numBytes);
        }
예제 #19
0
        protected void AddPossiblePlaceToTrip(Trip trip, Reading reading, TripPossiblePlaceType type)
        {
            var ownerId        = trip.Car.OwnerId;
            var possiblePlaces = _placeService.GetPlacesNearby(reading.Latitude,
                                                               reading.Longitude, 150, ownerId);

            foreach (var place in possiblePlaces)
            {
                var possiblePlace = new TripPossiblePlace()
                {
                    Trip      = trip,
                    TripId    = trip.TripId,
                    Place     = place,
                    PlaceType = type,
                    Distance  = Convert.ToDecimal(GeographyUtils.CalculateDistanceBetweenLocations(
                                                      reading.Latitude, reading.Longitude, place.Latitude, place.Longitude)),
                    Active = true
                };

                _tripPossiblePlaceService.Create(possiblePlace);
            }

            _logger.Debug($"Added possible {type.ToString()} to trip {trip.TripId}");
        }
예제 #20
0
        private void startTagSearch_Click(object sender, EventArgs e)
        {
            try
            {
                Vertex <ReadingTag> startTag = (Vertex <ReadingTag>)beginningTag.SelectedItem;
                //mainGraph.TagFinder(startTag);
                //createTagGraph(startTag.tagId);
                List <WeightedEdge <ReadingTag> > list = mainGraph.TagFinder(startTag, new List <WeightedEdge <ReadingTag> >(), new List <Vertex <ReadingTag> >(), new List <Vertex <ReadingTag> >(), new List <WeightedEdge <ReadingTag> >());
                Console.WriteLine(list.Count());
                Console.WriteLine(list);
                List <Reading> suggestedReadings = new List <Reading>();
                string         str = DatabaseInterface.databaseConnectionStr;

                using (SqlConnection con = new SqlConnection(str))
                {
                    foreach (WeightedEdge <ReadingTag> edge in list)
                    {
                        Console.WriteLine(edge.ToString());
                        foreach (int id in edge.ReadingIds)
                        {
                            Reading r = DatabaseInterface.getReadings(project.projectId, con, false, id).First();
                            if (r != null && suggestedReadings.Find(x => x.readingId == id) == null)
                            {
                                suggestedReadings.Add(r);
                            }
                        }
                    }
                }
                suggestedReadingsList.DataSource    = suggestedReadings;
                suggestedReadingsList.DisplayMember = "title";
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
        }
예제 #21
0
 public void WorkInProgress(long current, long overall)
 {
     Reading?.Invoke(current, overall);
 }
예제 #22
0
        protected void HandleReading(Character character, ConsideredActions alreadyConsidered, IEnumerable<IBook> topicalBooks)
        {
            if (topicalBooks.Any())
            {
                var bestBook =
                    (from book in topicalBooks
                     orderby character.GetBookLevelGain(book),
                             book.Level ascending
                     select book).First();
                double increase = character.GetBookLevelGain(bestBook);
                double desire = CalculateDesire(increase) / (BaseTier + 1);
                if (BaseDueDate != null)
                {
                    desire /= (double)BaseDueDate;
                }

                Reading readingAction = new Reading(bestBook, desire);
                alreadyConsidered.Add(readingAction);
            }
        }
        public async Task <IHttpActionResult> PostReading(ReadingViewModel reading)
        {
            var currentEmployee = db.Users.Include(x => x.EmployeeDetails).FirstOrDefault(x => x.UserName == reading.UserName);

            if (currentEmployee != null)
            {
                var readingModel = new Reading
                {
                    Accuracy         = reading.Accuracy,
                    Altitude         = reading.Altitude,
                    AltitudeAccuracy = reading.AltitudeAccuracy,
                    MeterId          = reading.MeterId,
                    DateCreated      = DateTime.Now,
                    CreatedBy        = currentEmployee.UserName,
                    EmployeeId       = currentEmployee.EmployeeDetails.EmployeeId,
                    Speed            = reading.Speed,
                    ReadingValue     = reading.ReadingValue,
                    ReadingId        = IdentityGenerator.NewSequentialGuid(),
                    Longitude        = reading.Longitude,
                    Latitude         = reading.Latitude,
                    Heading          = reading.Heading,
                    LocationDateTime = DateTime.Now,
                    IsConfirmed      = false,
                };
                //Fix Meter Issue
                var previousReading = await db.Readings.Where(x => x.MeterId == reading.MeterId).OrderByDescending(x => x.DateCreated).FirstOrDefaultAsync();

                if (previousReading != null)
                {
                    if (readingModel.ReadingValue >= previousReading.ReadingValue)
                    {
                        readingModel.PreviousReading = previousReading;
                    }
                    else
                    {
                        return(Conflict());
                    }
                }

                try
                {
                    db.Readings.Add(readingModel);
                    await db.SaveChangesAsync();

                    //Update ViewModel
                    reading.DateCreated = readingModel.DateCreated;
                    reading.ReadingId   = readingModel.ReadingId;
                    reading.CreatedBy   = readingModel.CreatedBy;
                    reading.EmployeeId  = readingModel.EmployeeId;

                    return(CreatedAtRoute("DefaultApi", new { id = reading.ReadingId }, reading));
                }
                catch (DbUpdateException ex)
                {
                    return(Conflict());
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Message));
                }
            }
            return(NotFound());
        }
예제 #24
0
파일: Leg.cs 프로젝트: Milstein/strados
 public void UpdateLocation(Location location)
 {
     var locReading = new Reading<Location>(location);
     distanceReadings.Add(locReading);
 }
예제 #25
0
        //call this function whenever saving a modified project file, saves everything within
        public static Boolean updateProject(Project project)
        {
            int updatedReadings = 0;
            int updatedWritings = 0;

            foreach (Reading r in project.readings)
            {
                if (r.deleted)
                {
                    deleteReading(r);
                }
                else if (r.readingId <= 0) //if true, reading is new
                {
                    Reading tempReading = createReading(r.projectId, r.title, "", r.text, "", new DateTime(r.dateYear, getMonthNum(r.dateMonth), r.dateDay), r.publisherName, r.city, r.yearPublished);
                    r.readingId = tempReading.readingId;
                }
                else if (r.modified)
                {
                    updateReading(r.readingId, r.title, r.text, "", new DateTime(r.dateYear, getMonthNum(r.dateMonth), r.dateDay), r.publisherName, "", r.yearPublished);
                    updatedReadings++;
                }
                //Authors
                deleteAuthors(r.readingId);
                foreach (Author author in r.authors)
                {
                    Author tempAuthor = createAuthor(r.readingId, author.first, author.middle, author.last);
                    author.authorId = tempAuthor.authorId;
                }
                //ReadingTags
                deleteReadingTagLinks(r.readingId);
                foreach (ReadingTag tag in r.readingTags)
                {
                    ReadingTag tempRTag = createReadingTag(r.readingId, tag.tag);
                    tag.tagId = tempRTag.tagId;
                }
                //Highlights and HighlightTags
                foreach (Highlight highlight in r.highlights)
                {
                    deleteHighlightTagLinks(highlight.highlightId);
                }
                deleteHighlights(r.readingId);
                foreach (Highlight highlight in r.highlights)
                {
                    Highlight tempHighlight = createHighlight(r.readingId, highlight.isQuote, highlight.charNum, highlight.charCount);
                    foreach (HighlightTag tag in highlight.highlightTags)
                    {
                        HighlightTag tempHTag = createHighlightTag(tempHighlight.highlightId, tag.tag);
                        tag.tagId = tempHTag.tagId;
                    }
                    highlight.highlightId = tempHighlight.highlightId;
                }
                r.modified = false;
            }
            for (int i = project.readings.Count - 1; i >= 0; i--) //loop through backwards and delete as encountered
            {
                if (project.readings.ElementAt(i).modified)
                {
                    project.readings.RemoveAt(i);
                }
            }

            foreach (Writing w in project.writings)
            {
                if (w.deleted)
                {
                    deleteWriting(w);
                }
                else if (w.writingId <= 0)
                {
                    Writing tempWriting = createWriting(w.projectId, w.text);
                    w.writingId = tempWriting.writingId;
                }
                else if (w.modified)
                {
                    updateWriting(w);
                    updatedWritings++;
                }
                w.modified = false;
            }
            for (int i = project.writings.Count - 1; i >= 0; i--)
            {
                if (project.writings.ElementAt(i).modified)
                {
                    project.writings.RemoveAt(i);
                }
            }
            String message = "";

            if (updatedReadings == 0 && updatedWritings != 0)
            {
                message = updatedWritings + " Writings Updated.";
            }
            else if (updatedWritings == 0 && updatedReadings != 0)
            {
                message = updatedReadings + " Readings Updated.";
            }
            else if (updatedWritings != 0 && updatedReadings != 0)
            {
                message = updatedReadings + " Readings Updated and " + updatedWritings + " Writings Updated.";
            }
            if (updatedWritings != 0 || updatedReadings != 0)
            {
                PopupForm popup = new PopupForm(message);
                popup.Show();
            }
            return(true);
        }
예제 #26
0
        static void Main()
        {
            int num = 0;

            do
            {
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine("-------------------------");
                Console.ForegroundColor = ConsoleColor.Blue;
                Console.WriteLine("1. Add a task");
                Console.WriteLine("2. Remove a task");
                Console.WriteLine("3. Mark a task complete");
                Console.WriteLine("4. List tasks");
                Console.WriteLine("5. EXIT");
                Console.ForegroundColor = ConsoleColor.DarkYellow;
                Console.WriteLine("-------------------------");
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.Write("What would you like to do? (Please enter the corresponding number): ");
                Console.ResetColor();
                num = Reading.ReadInt32FromConsole();

                switch (num)
                {
                case -1:
                    Console.WriteLine("Please select a valid option. (1 through 5)");
                    break;

                case 1:
                    Console.Write("Please enter a task: ");
                    var input = Reading.ReadTextLineFromConsole();
                    var ut    = new UserTask(input);
                    tm.UserTasks.Add(ut);
                    Console.WriteLine($"New Task: {ut.ToString()}");
                    break;

                case 2:
                    int i = 0;
                    int j = 1;
                    for (i = 0; i < tm.UserTasks.Count; i++)
                    {
                        Console.Write(j + " ");
                        Console.WriteLine(tm.UserTasks[i]);
                        j++;
                    }
                    Console.WriteLine();
                    Console.Write("Please write out the task you would like to remove (CASE-SENSITIVE [include (complete) if applicable]): ");
                    input = Reading.ReadTextLineFromConsole();
                    ut    = new UserTask(input);

                    for (i = 0; i < tm.UserTasks.Count; i++)
                    {
                        if (input == tm.UserTasks[i].UserInput)
                        {
                            tm.UserTasks.RemoveAt(i);
                            break;
                        }
                    }
                    break;

                case 3:
                    i = 0;
                    j = 1;
                    for (i = 0; i < tm.UserTasks.Count; i++)
                    {
                        Console.Write(j + " ");
                        Console.WriteLine(tm.UserTasks[i]);
                        j++;
                    }
                    Console.WriteLine();
                    Console.Write("Please write out the task you would like to mark complete (CASE-SENSITIVE):  ");
                    input = Reading.ReadTextLineFromConsole();
                    ut    = new UserTask(input);

                    for (i = 0; i < tm.UserTasks.Count; i++)
                    {
                        if (input == tm.UserTasks[i].UserInput)
                        {
                            tm.UserTasks[i].UserInput = tm.UserTasks[i].UserInput + " (complete)";
                            break;
                        }
                    }
                    break;

                case 4:
                    i = 0;
                    j = 1;
                    for (i = 0; i < tm.UserTasks.Count; i++)
                    {
                        Console.Write(j + " ");
                        Console.WriteLine(tm.UserTasks[i]);
                        j++;
                    }
                    break;

                case 5:
                    Environment.Exit(0);
                    break;
                }
            }while(num != 6);
        }
예제 #27
0
 public void Store(Reading Reading)
 {
     ListOfReadings.Add(Reading);
     Update();
 }
예제 #28
0
 public WaterReservoirState(string id, int height, int alert, IEnumerable <SensorSpec> sensors, Reading current, Reading previous)
 {
     Height      = height;
     AlertHeight = alert;
     Sensors     = sensors;
     Previous    = previous;
     Current     = current;
     ReservoirId = id;
 }
예제 #29
0
 public IEnumerable<Reading> ReadAll()
 {
     using(var cmd = _conn.CreateCommand()) {
         cmd.CommandType = CommandType.Text;
         cmd.CommandText = String.Format("SELECT * FROM {0}", CreateCsvTableName(_filePath));
         using(var reader = cmd.ExecuteReader()) {
             if (null == reader)
                 yield break;
             while(reader.Read()) {
                 Reading reading;
                 try {
                     reading = new Reading(
                         AsDateTime(reader.GetValue(0)),
                         AsDouble(reader.GetValue(1)),
                         AsDouble(reader.GetValue(2)),
                         AsDouble(reader.GetValue(3)),
                         AsDouble(reader.GetValue(5)),
                         AsDouble(reader.GetValue(4))
                     );
                 }
                 catch(Exception ex) {
                     continue;
                 }
                 yield return reading;
             }
         }
     }
 }
 public void Reading_RoundTripsCorrectly(Reading reading, string reason)
 {
     AssertObjectRoundTripsCorrectly(reading, reason);
 }
예제 #31
0
        private void DoWork()
        {
            bool sync = false;

            byte[] data = new byte[5];

            while (true)
            {
                int totalRead = 0;
                if (!sync)
                {
                    int b = this.serialPort.ReadByte();
                    if (b < 0)
                    {
                        Thread.Sleep(100);
                        continue;
                    }

                    if (((b >> 7) & 0x1) != 1)
                    {
                        continue;
                    }

                    data[0]   = (byte)b;
                    totalRead = 1;
                    sync      = true;
                }

                while (totalRead < 5)
                {
                    int read = this.serialPort.Read(data, totalRead, 5 - totalRead);
                    if (read < 0)
                    {
                        this.DebugPrint("Serial error");
                        sync = false;

                        if (this.IsProbeAttached)
                        {
                            this.IsProbeAttached = false;

                            this.OnProbeDetached(this, null);
                        }

                        continue;
                    }

                    totalRead += read;
                }

                if (((data[0] >> 7) & 0x1) != 1)
                {
                    this.DebugPrint("Lost sync");
                    sync = false;

                    if (this.IsProbeAttached)
                    {
                        this.IsProbeAttached = false;

                        this.OnProbeDetached(this, null);
                    }

                    continue;
                }

                bool probeAttached = ((data[2] >> 4) & 0x1) == 0;

                if (!probeAttached && this.IsProbeAttached)
                {
                    this.IsProbeAttached = false;
                    this.OnProbeDetached(this, null);
                }

                if (!probeAttached || ((data[0] >> 6) & 0x1) != 1)
                {
                    continue;
                }

                int signalStrength = data[0] & 0xF;
                int pulseRate      = ((data[2] << 1) & 0x80) + (data[3] & 0x7F);
                int spO2           = data[4] & 0x7F;

                if (pulseRate == 255 || spO2 == 127)
                {
                    continue;
                }

                this.LastReading = new Reading(pulseRate, spO2, signalStrength);

                if (probeAttached && !this.IsProbeAttached)
                {
                    this.IsProbeAttached = true;
                    this.OnProbeAttached(this, null);
                }

                this.OnHeartbeat(this, this.LastReading);
            }
        }
예제 #32
0
        protected Trip ProcessTrip(Trip trip)
        {
            _logger.Debug($"Started processing trip {trip.TripId}");

            var currentDistanceTraveled = trip.DistanceTraveled ?? 0;

            if (trip.Status == TripStatus.Processed)
            {
                // Trip has already been processed. Clean up anything that was done previously
                RemovePossiblePlacesFromTrip(trip);
            }

            var readings = _db.Readings.Where(x => x.TripId == trip.TripId)
                           .OrderBy(x => x.ReadDate)
                           .ToList();

            if (readings.Any())
            {
                NormalizeStartEndLocations(readings);

                double maxSpeed       = 0;
                double totalSpeed     = 0;
                double totalDistance  = 0;
                double maxEngineRpm   = 0;
                double totalEngineRpm = 0;

                TimeSpan idleTime = new TimeSpan(); //ticks

                Reading previousReading = null;

                for (int i = 0; i < readings.Count; i++)
                {
                    var reading = readings[i];
                    if (reading.Speed.HasValue && reading.Speed.Value > maxSpeed)
                    {
                        maxSpeed = reading.Speed.Value;
                    }

                    if (reading.EngineRpm.HasValue && reading.EngineRpm.Value > maxEngineRpm)
                    {
                        maxEngineRpm = reading.EngineRpm.Value;
                    }

                    totalSpeed     += reading.Speed ?? 0;
                    totalEngineRpm += reading.EngineRpm ?? 0;

                    if (null != previousReading)
                    {
                        totalDistance += CalculateDistanceBetweenReadings(previousReading, reading);

                        if ((previousReading.Speed ?? 0) == 0 && (reading.Speed ?? 0) == 0)
                        {
                            idleTime = idleTime.Add(reading.ReadDate - previousReading.ReadDate);
                        }
                    }

                    previousReading = reading;
                }

                trip.AverageSpeed     = totalSpeed / (readings.Count * 1.0);
                trip.AverageEngineRpm = totalEngineRpm / (readings.Count * 1.0);

                trip.MaxEngineRpm     = maxEngineRpm;
                trip.MaximumSpeed     = maxSpeed;
                trip.DistanceTraveled = totalDistance;
                trip.IdleTime         = Convert.ToInt64(idleTime.TotalMilliseconds);

                //if the end date of the trip is null, set its end date to the read date of the
                //  last reading
                if (!trip.EndDate.HasValue)
                {
                    trip.EndDate = readings.Last().ReadDate;
                }

                var car = _db.Cars.FirstOrDefault(c => c.CarId == trip.CarId);
                if (null != car &&
                    (!car.MileageLastUserSet.HasValue || car.MileageLastUserSet < trip.EndDate))
                {
                    car.Mileage += trip.DistanceTraveled - currentDistanceTraveled;
                }

                _db.SaveChanges();

                AddPossiblePlacesToTrip(trip, readings);
                AddGuessedPlacesToTrip(trip);
            }

            trip.Status = TripStatus.Processed;
            _db.SaveChanges();

            _logger.Debug($"Finished processing trip {trip.TripId}");

            return(trip);
        }
예제 #33
0
 public static Reading ToEntity(this ReadingModel model, Reading destination)
 {
     return(model.MapTo(destination));
 }
예제 #34
0
파일: Tests.cs 프로젝트: grozaserban/Leaf
        public static void SplitHistogramsInSeparateFiles(string sourcePath, string destinationFolderPath)
        {
            var data = new Reading(sourcePath);

            data.CreateTestData(destinationFolderPath);
        }
        public void ProcessHMIData(byte data)
        {
            Reading result = null;

            if (data == '\r')
            {
                return;
            }

            if (data == '\n')
            {
                if (_parseState == 1)
                {
                    string packet = Encoding.UTF8.GetString(_buffer, 0, _bufferLen);
                    //Console.WriteLine("Process Packet: [" + packet + "]");

                    float distance = 0.0f;

                    ++TotalReadings;
                    ++_readingCount;

                    if (float.TryParse(packet, NumberStyles.Any, CultureInfo.InvariantCulture, out distance))
                    {
                        result = new Reading(distance);
                        ++_validReadingCount;
                        _averageReading += distance;
                    }
                    else
                    {
                        result = new Reading();
                    }

                    double time = (double)Stopwatch.GetTimestamp() / (double)Stopwatch.Frequency;

                    if (time - _updateTimer >= 1.0)
                    {
                        ReadingFrequency = _readingCount;

                        float avgDist = 0.0f;

                        if (_validReadingCount > 0)
                        {
                            avgDist = _averageReading / _validReadingCount;
                        }

                        _updateTimer       = time;
                        _readingCount      = 0;
                        _validReadingCount = 0;
                        _averageReading    = 0.0f;

                        //Console.WriteLine("Hz: " + ReadingFrequency + "\t Distance: " + avgDist + "m");
                    }
                }

                _parseState = 1;
                _bufferLen  = 0;
            }
            else if (_parseState == 1)
            {
                if (_bufferLen == 32)
                {
                    _parseState = 0;
                    _bufferLen  = 0;
                }
                else if (data == '.' || (data >= '0' && data <= '9') || data == '.' || data == '-')
                {
                    _buffer[_bufferLen++] = data;
                }
            }

            if (ReceivedReading != null && result != null)
            {
                if (_uiInvokeControl != null)
                {
                    _uiInvokeControl.Invoke((MethodInvoker) delegate
                    {
                        ReceivedReading(result);
                    });
                }
                else
                {
                    ReceivedReading(result);
                }
            }

            return;
        }
예제 #36
0
        public static Aqi CalculateAqi(Reading reading)
        {
            double[,,] breakpoints =
            {
                {
                    {     0,   4.4 },
                    {   4.5,   9.4 },
                    {   9.5,  12.4 },
                    {  12.5,  15.4 },
                    {  15.5,  30.4 },
                    {  30.5,  40.4 },
                    {  40.5,  50.4 }
                },
                {
                    { 0.000, 0.034 },
                    { 0.035, 0.144 },
                    { 0.145, 0.224 },
                    { 0.225, 0.304 },
                    { 0.305, 0.604 },
                    { 0.605, 0.804 },
                    { 0.805, 1.004 }
                },
                {
                    {     0,  0.05 },
                    {  0.08,  0.10 },
                    {  0.15,  0.20 },
                    {  0.25,  0.31 },
                    {  0.65,  1.24 },
                    {  1.25,  1.64 },
                    {  1.65,  2.04 }
                },
                {
                    {     0,    50 },
                    {    51,   100 },
                    {   101,   150 },
                    {   151,   200 },
                    {   201,   300 },
                    {   301,   400 },
                    {   401,   500 }
                }
            };

            double i, c = 0, cLow = 0, cHigh = 0, iLow = 0, iHigh = 0;
            Aqi    aqi = new Aqi();

            for (int x = 0; x < 4; x++)
            {
                switch (x)
                {
                case 0:
                    c = reading.Co;
                    break;

                case 1:
                    c = reading.So;
                    break;

                case 2:
                    c = reading.No;
                    break;
                }

                for (int y = 0; y < 7; y++)
                {
                    if (c >= breakpoints[x, y, 0] && c <= breakpoints[x, y, 1])
                    {
                        cLow  = breakpoints[x, y, 0];
                        cHigh = breakpoints[x, y, 1];
                        iLow  = breakpoints[3, y, 0];
                        iHigh = breakpoints[3, y, 1];
                        break;
                    }
                }

                i = (iHigh - iLow) / (cHigh - cLow) * (c - cLow) + iLow;

                if (i > aqi.Value)
                {
                    aqi.Value = i;
                    switch (x)
                    {
                    case 0:
                        aqi.GasName = "CO";
                        break;

                    case 1:
                        aqi.GasName = "SO";
                        break;

                    case 2:
                        aqi.GasName = "NO";
                        break;
                    }
                }
            }

            return(aqi);
        }
예제 #37
0
        private void AddReadingToActionList(IEnumerable<IBook> topicalBooks, Ability ability, ConsideredActions alreadyConsidered, IList<string> log)
        {
            IBook bestBook = Character.GetBestBookToRead(ability);

            if (bestBook != null)
            {
                double gain = Character.GetBookLevelGain(bestBook);
                double effectiveDesire = GetDesirabilityOfIncrease(gain);
                if (!double.IsNaN(effectiveDesire) && effectiveDesire > 0)
                {
                    log.Add("Reading " + bestBook.Title + " worth " + (effectiveDesire).ToString("0.00"));
                    Reading readingAction = new Reading(bestBook, effectiveDesire);
                    alreadyConsidered.Add(readingAction);
                }
            }
        }
 public void ReadObject_FromInt_OK()
 {
     var x = new Reading<int>(2);
     var y = x.AsVariant<IReading<object>>();
     ((int) y.Get()).Should().Be.EqualTo(2);
 }
예제 #39
0
 public void InsertReading(Reading reading)
 {
     _readingDb.InsertActivity(reading);
 }
예제 #40
0
        private void FillCommandBuilder(SQLCommandBuilder builder, SqlCommand command, Reading obj)
        {
            if (builder == null || command == null || obj == null)
            {
                return;
            }

            builder.AddParameter(tableFieldNAME, "@p_name");
            command.Parameters.AddWithValue("p_name", obj.Name);

            builder.AddParameter(tableFieldID_BOOK, "@p_id_book");
            {
                object value = DBNull.Value;
                if (obj.Book != null)
                {
                    value = obj.Book.Id;
                }

                command.Parameters.AddWithValue("p_id_book", value);
            }

            builder.AddParameter(tableFieldNUMBER, "@p_number");
            command.Parameters.AddWithValue("p_number", (object)obj.Number ?? DBNull.Value);

            builder.AddParameter(tableFieldFIRSTPAGE, "@p_firstpage");
            command.Parameters.AddWithValue("p_firstpage", (object)obj.FirstPage ?? DBNull.Value);

            builder.AddParameter(tableFieldLASTPAGE, "@p_lastpage");
            command.Parameters.AddWithValue("p_lastpage", (object)obj.LastPage ?? DBNull.Value);

            builder.AddParameter(tableFieldRETELLING, "@p_retelling");
            command.Parameters.AddWithValue("p_retelling", obj.Retelling);

            builder.AddParameter(tableFieldSUMMARY, "@p_summary");
            command.Parameters.AddWithValue("p_summary", obj.Summary);

            builder.AddParameter(tableFieldHINT, "@p_hint");
            command.Parameters.AddWithValue("p_hint", obj.Hint);

            builder.AddParameter(tableFieldNOTE, "@p_note");
            command.Parameters.AddWithValue("p_note", obj.Note);
        }
예제 #41
0
 /// <summary>
 /// This override returns the Reading.
 /// </summary>
 /// <returns>This override returns the Reading.</returns>
 public override string ToString()
 {
     return(Reading.ToString());
 }
예제 #42
0
        //
        // The timer is enabled ONLY on non-Immediate sensors
        //
        private void onTimer(object StateObject)
        {
            if (!Enabled)
            {
                return;
            }

            DateTime now            = DateTime.Now;
            Reading  currentReading = getReading();

            if (currentReading == null)
            {
                return;
            }

            if (_readings == null)
            {
                _readings = new FixedSizedQueue <Reading>(_nreadings);
            }
            Reading[]     arr = _readings.ToArray();
            List <string> values = new List <string>();
            int           nbad = 0, nstale = 0, nreadings = 0;

            foreach (Reading r in arr)      // before current reading
            {
                values.Add(r.ToString());
                nreadings++;
                if (!r.safe)
                {
                    nbad++;
                }
                if (r.stale)
                {
                    nstale++;
                }
            }
            SensorState savedState = _state;
            bool        wassafe    = StateIsSet(SensorState.Safe);
            bool        wasready   = StateIsSet(SensorState.EnoughReadings);

            _readings.Enqueue(currentReading);

            arr       = _readings.ToArray();
            values    = new List <string>();
            nbad      = 0;
            nstale    = 0;
            nreadings = 0;
            foreach (Reading r in arr)      // including current reading
            {
                values.Add(r.ToString());
                nreadings++;
                if (!r.safe)
                {
                    nbad++;
                }
                if (r.stale)
                {
                    nstale++;
                }
            }

            debugger.WriteLine(Debugger.DebugLevel.DebugSafety,
                               "onTimer: Sensor ({0}) readings: [{1}]",
                               WiseName, String.Join(",", values));

            _nreadings = nreadings;
            _nbad      = nbad;
            _nstale    = nstale;

            lock (_lock)
            {
                UnsetState(SensorState.Safe);

                if (HasAttribute(SensorAttribute.CanBeStale) && (_nstale > 0))
                {
                    ExtendUnsafety(string.Format("{0} stale reading{1}", _nstale, _nstale > 1 ? "s" : ""));
                    SetState(SensorState.Stale);
                    return;     // Remain unsafe - at least one stale reading
                }
                else
                {
                    UnsetState(SensorState.Stale);
                }

                if (_readings.ToArray().Count() != _repeats)
                {
                    UnsetState(SensorState.EnoughReadings);
                    return;     // Remain unsafe - not enough readings
                }
                else
                {
                    if (!StateIsSet(SensorState.EnoughReadings))
                    {
                        activityMonitor.Event(new Event.SafetyEvent(
                                                  sensor: WiseName,
                                                  details: "Became ready",
                                                  before: sensorState,
                                                  after: Event.SafetyEvent.SensorState.Ready));
                        sensorState = Event.SafetyEvent.SensorState.Ready;
                    }
                    SetState(SensorState.EnoughReadings);
                }

                if (_nbad == _repeats)
                {
                    ExtendUnsafety("All readings are unsafe");
                    if (wasready && wassafe)
                    {
                        activityMonitor.Event(new Event.SafetyEvent(
                                                  sensor: WiseName,
                                                  details: "Became unsafe",
                                                  before: sensorState,
                                                  after: Event.SafetyEvent.SensorState.NotSafe));
                    }
                    sensorState = Event.SafetyEvent.SensorState.NotSafe;
                    return;     // Remain unsafe - all readings are unsafe
                }

                bool prolong = true;
                if (StateIsSet(SensorState.Stabilizing))
                {
                    if (currentReading.stale || !currentReading.safe)
                    {
                        ExtendUnsafety("Unsafe reading while stabilizing");
                        return;
                    }

                    if (now.CompareTo(_endOfStabilization) <= 0)
                    {
                        return;
                    }
                    else
                    {
                        UnsetState(SensorState.Stabilizing);
                        prolong = false;    // don't prolong if just ended stabilization
                    }
                }

                // If we got here the sensor is currently safe
                if (wasready && StateIsSet(SensorState.EnoughReadings) && !wassafe && prolong)
                {
                    ExtendUnsafety("Readings just turned safe");
                    return;     // Remain unsafe - just begun stabilizing
                }

                SetState(SensorState.Safe);
                if (wasready && !wassafe)
                {
                    activityMonitor.Event(new Event.SafetyEvent(
                                              sensor: WiseName,
                                              details: "Became safe",
                                              before: sensorState,
                                              after: Event.SafetyEvent.SensorState.Safe));
                }
                sensorState = Event.SafetyEvent.SensorState.Safe;
            }
        }
예제 #43
0
        public void Run()
        {
            PrintMenu();
            while (true)
            {
                try {
                    var selectedMenu = Reading.ReadInt("Please enter number from menu");
                    switch (selectedMenu)
                    {
                    case 1:
                        EnterNewDoubleToConsole(ref _fieldOfDoubles, ref _position);
                        break;

                    case 2:
                        PrintNumbersFromField(_fieldOfDoubles);
                        break;

                    case 3:
                        try {
                            SortUtils.CocktailSortAscending(_fieldOfDoubles);
                        }
                        catch (Exception e) {
                            WriteLineColorRed(e.Message);
                        }

                        break;

                    case 4:
                        try {
                            SortUtils.CocktailSortDescending(_fieldOfDoubles);
                        }
                        catch (Exception e) {
                            WriteLineColorRed(e.Message);
                        }
                        break;

                    case 5:
                        FindMinInArrayAndPrintToConsole(_fieldOfDoubles);
                        break;

                    case 6:
                        FindFirstOccurenceOfNumberAndPrintToConsole(_fieldOfDoubles);
                        break;

                    case 7:
                        FindLastOccurenceOfNumberAndPrintToConsole(_fieldOfDoubles);
                        break;

                    case 8:
                        PrintMenu();
                        break;

                    case 9:
                        Console.WriteLine("Exiting!");
                        return;

                    default:
                        WriteLineColorRed("Unknown command!");
                        break;
                    }
                }
                catch (Exception e) {
                    WriteLineColorRed(e.Message);
                }
            }
        }
 public void ReadObject_FromString_OK()
 {
     var x = new Reading<string>("something");
     var y = x.AsVariant<IReading<object>>();
     y.Get().Should().Be.EqualTo("something");
 }
 public ReadingViewModel CreateFromExisting(Reading reading)
 {
     return(new ReadingViewModel(reading));
 }
        public Response Read(Reading reading)
        {
            bool tokenExist = AuthRepository.IsTokenExist(reading.AuthToken);
#if DEBUG
            tokenExist = true;
#endif
            if (tokenExist)
            {
                try
                {
                    List<int> ridesIds = new List<int>();
                    var file = Convert.FromBase64String(reading.Content);//System.Text.Encoding.Unicode.GetBytes(reading.Content);
                    string fileName = DateTime.Now.ToString("yyyyMMddHHmmtt") + RandomString(5);
                    string tmpFilePath = Path.Combine(Path.GetTempPath(), fileName);
                    File.WriteAllBytes(tmpFilePath, file);
                    using (SQLiteConnection con = new SQLiteConnection("Data Source="+tmpFilePath))
                    {
                        con.Open();
                        string ride = "SELECT _id FROM ride";

                        using (SQLiteCommand cmd = new SQLiteCommand(ride, con))
                        {
                            using (SQLiteDataReader rdr = cmd.ExecuteReader())
                            {
                                while (rdr.Read())
                                {
                                    ridesIds.Add(rdr.GetInt32(0));
                                }
                            }
                        }
                        using (PP_testEntities context = new PP_testEntities())
                        {
                            if (ridesIds.Count == 1)
                            {
                                var przejazd = new Przejazdy_fs();
                                przejazd.dane_przejazdu = file;
                                var userLogins = AuthRepository.GetLogin(reading.AuthToken);
#if DEBUG
                                var user = (from u in context.Uzytkownicies select u).FirstOrDefault();
#else
                                    var user = (from u in context.Uzytkownicies where u.email == userLogins select u).FirstOrDefault();
#endif
                                przejazd.Uzytkownicy = user;
                                przejazd.id_przejazdu = Guid.NewGuid();
                                context.Przejazdy_fs.Add(przejazd);
                                AddTagsToRide(con, context, przejazd);
                            }

                            else if (ridesIds.Count > 1)
                            {
                                foreach (var id in ridesIds)
                                {
                                    string fname = DateTime.Now.ToString("yyyyMMddHHmmtt") + RandomString(5);
                                    string path = Path.Combine(Path.GetTempPath(), fname);
                                    File.WriteAllBytes(path, file);
                                    var przejazd = new Przejazdy_fs();
                                    using (SQLiteConnection con2 = new SQLiteConnection("Data Source=" + path))
                                    {
                                        con2.Open();
                                        string query = "DELETE FROM location_data where RIDE_ID <> " + id.ToString();
                                        SQLiteCommand cmd = new SQLiteCommand(query, con2);
                                        cmd.ExecuteNonQuery();
                                        cmd.Dispose();

                                        query = "DELETE FROM accelerometer_data where RIDE_ID <> " + id.ToString();
                                        cmd = new SQLiteCommand(query, con2);
                                        cmd.ExecuteNonQuery();
                                        cmd.Dispose();

                                        query = "DELETE FROM gyroscope_data where RIDE_ID <> " + id.ToString();
                                        cmd = new SQLiteCommand(query, con2);
                                        cmd.ExecuteNonQuery();
                                        cmd.Dispose();

                                        query = "DELETE FROM light_data where RIDE_ID <> " + id.ToString();
                                        cmd = new SQLiteCommand(query, con2);
                                        cmd.ExecuteNonQuery();
                                        cmd.Dispose();

                                        query = "DELETE FROM ride where _id <> " + id.ToString();
                                        cmd = new SQLiteCommand(query, con2);
                                        cmd.ExecuteNonQuery();
                                        cmd.Dispose();

                                        var userLogins = AuthRepository.GetLogin(reading.AuthToken);
#if DEBUG
                                        var user = (from u in context.Uzytkownicies select u).FirstOrDefault();
#else
                                    var user = (from u in context.Uzytkownicies where u.email == userLogins select u).FirstOrDefault();
#endif
                                        przejazd.Uzytkownicy = user;
                                        przejazd.id_przejazdu = Guid.NewGuid();                                   
                                        przejazd.dane_przejazdu = Encoding.ASCII.GetBytes(System.DateTime.Now.ToString());
                                        context.Przejazdy_fs.Add(przejazd);
                                        AddTagsToRide(con2, context, przejazd);
                                        con2.Close();
                                        GC.Collect();
                                        GC.WaitForPendingFinalizers();
                                    }
                                    przejazd.dane_przejazdu = File.ReadAllBytes(path);
                                }                              
                            }
                            context.SaveChanges();
                        }
                    }
                   
                    File.Delete(tmpFilePath);
                    return new Response() { Result = "OK" };
                }
                catch (Exception e)
                {
                    return new Response() { Result = "Error", Reason = e.Message };
                }
            }
            else
            {
                return new Response() {Result = "Error", Reason = "Zły token sesji"};
            }
        }
 public HistoryReadingViewModel(Reading reading, HistorySearchResult parent)
 {
     databaseService = new DatabaseService();
     this.parent     = parent;
     Reading         = reading;
 }
예제 #48
0
        public Vector2(Reading.ReadingBase reader)
        {
            X = reader.ReadSingle("X");
            Y = reader.ReadSingle("Y");

        }
예제 #49
0
        /// <summary>
        /// Initialize the control
        /// </summary>
        /// <param name="readingText">The initial reading text. A format string with simple replacement fields.</param>
        /// <param name="fieldReplacements">The replacements to show instead of the replacement fields. The replacement fields will show as locked portions in the text.</param>
        /// <param name="predicateColor">The color for the normal editable text</param>
        /// <param name="replacementColor">The color for the replacement fields</param>
        public void Initialize(string readingText, string[] fieldReplacements, Color predicateColor, Color replacementColor)
        {
            StartInitialize();

            // First, lets see how many valid fields we have. A valid field
            // must be in range and must occur only once. If these conditions
            // do not hold, then those format replacements fields are invalid and
            // needs to be directly edited.
            int replacementCount = fieldReplacements.Length;

            int[] foundReplacements = new int[replacementCount];
            int   fieldCount        = 0;
            bool  allFieldsVisited;

            allFieldsVisited = Reading.VisitFields(
                readingText,
                delegate(int index)
            {
                if (index < replacementCount)
                {
                    int currentCount = foundReplacements[index];
                    switch (currentCount)
                    {
                    case 0:
                        ++fieldCount;
                        break;

                    case 1:
                        --fieldCount;
                        break;
                    }
                    foundReplacements[index] = currentCount + 1;
                    //Keep going
                    return(true);
                }
                else
                {
                    return(false);
                }
            });
            if (fieldCount != 0 && allFieldsVisited)
            {
                LockedField[] fields           = new LockedField[fieldCount];
                int           offsetAdjustment = 0;
                int           currentField     = 0;
                string        modifiedString   =
                    Reading.ReplaceFields(
                        readingText,
                        delegate(int index, Match match)
                {
                    Group fieldGroup = match.Groups[Reading.ReplaceFieldsMatchFieldGroupName];
                    if (index < replacementCount &&
                        foundReplacements[index] == 1)
                    {
                        string replacement    = fieldReplacements[index];
                        int replacementLength = replacement.Length;
                        fields[currentField]  = new LockedField(fieldGroup.Index + offsetAdjustment, replacementLength, fieldGroup.Value);
                        offsetAdjustment     += replacementLength - fieldGroup.Length;
                        ++currentField;
                        return(replacement);
                    }
                    return(null);
                });
                FinishInitialize(modifiedString, fields, predicateColor, replacementColor);
            }
            else
            {
                FinishInitialize(readingText, null, predicateColor, replacementColor);
            }
        }