示例#1
0
        public DataPoint(MileageDataPoint contract)
        {
            if (contract == null)
            {
                throw new ArgumentNullException("contract");
            }

            Date                  = contract.Date;
            OdometerReading       = contract.OdometerReading;
            GallonsPurchased      = contract.GallonsPurchased;
            TotalCost             = contract.TotalCost;
            DistanceSinceLastFill = contract.DistanceSinceLastFill;
            PricePerGallon        = contract.PricePerGallon;
        }
        /// <summary>
        /// Edits the data point.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="dataPoint">The data point.</param>
        public void EditDataPoint(int id, MileageDataPoint dataPoint)
        {
            using (var session = store.OpenSession())
            {
                var index           = string.Format("MileageDataPoints/{0}", id);
                var loadedDataPoint = session.Load <MileageDataPoint>(index);

                loadedDataPoint.OdometerReading       = dataPoint.OdometerReading;
                loadedDataPoint.TotalCost             = dataPoint.TotalCost;
                loadedDataPoint.GallonsPurchased      = dataPoint.GallonsPurchased;
                loadedDataPoint.PricePerGallon        = dataPoint.PricePerGallon;
                loadedDataPoint.DistanceSinceLastFill = dataPoint.DistanceSinceLastFill;
                loadedDataPoint.Date = dataPoint.Date;

                session.SaveChanges();
            }
        }
        /// <summary>
        /// Creates a data point.
        /// </summary>
        /// <param name="dataPoint">The data point.</param>
        public void CreateDataPoint(MileageDataPoint dataPoint)
        {
            using (var session = store.OpenSession())
            {
                dataPoint.Date = DateTime.Now;

                var existingDataPoints = session.Query <MileageDataPoint>().ToList();
                if (existingDataPoints.Any())
                {
                    var previousDataPoint = existingDataPoints.Last();
                    dataPoint.DistanceSinceLastFill = dataPoint.OdometerReading - previousDataPoint.OdometerReading;
                }

                dataPoint.PricePerGallon = dataPoint.TotalCost / dataPoint.GallonsPurchased;

                session.Store(dataPoint);
                session.SaveChanges();
            }
        }
        public ActionResult Create(DataPointModel dataPoint)
        {
            try
            {
                var contract = new MileageDataPoint
                {
                    OdometerReading  = dataPoint.OdometerReading,
                    TotalCost        = dataPoint.TotalCost,
                    GallonsPurchased = dataPoint.GallonsPurchased
                };

                dataPointService.CreateDataPoint(contract);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public ActionResult Edit(int id, DataPointModel dataPoint)
        {
            try
            {
                var contract = new MileageDataPoint
                {
                    OdometerReading       = dataPoint.OdometerReading,
                    TotalCost             = dataPoint.TotalCost,
                    GallonsPurchased      = dataPoint.GallonsPurchased,
                    PricePerGallon        = dataPoint.GallonsPurchased / dataPoint.TotalCost,
                    DistanceSinceLastFill = dataPoint.DistanceSinceLastFill,
                    Date = dataPoint.Date
                };

                dataPointService.EditDataPoint(id, contract);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }