示例#1
0
        public ActionResult SetSuspension(string Id, SuspensionModel suspension)
        {
            Guid customerId = Guid.Parse(Id);

            dbContext.Suspensions.Add(suspension);

            // get all suspensions for current customer
            // todo: convert this into a separate utility function that can be used elsewhere
            // todo: optimization: weed out suspensions that ended in the past
            List <SuspensionModel> suspensions = dbContext.Suspensions
                                                 .Where(sus => sus.CustomerId == customerId)
                                                 .OrderBy(sus => sus.Start)
                                                 .ToList();

            suspensions.Add(suspension);

            // get next recurring pickup day
            PickUpModel pickUp = dbContext.PickUps
                                 .Where(pick => pick.CustomerId == customerId && pick.Recurring == true && pick.Completed == false)
                                 .FirstOrDefault();

            // check that the recurring date conforms to all suspensions
            DetermineNextPickUpDay(suspensions, ref pickUp);



            dbContext.SaveChanges();

            return(RedirectToAction("Details", new { Id = customerId }));
        }
示例#2
0
        public ActionResult Edit(int id)
        {
            SuspensionDataAccess SuspensionDataAccess = new SuspensionDataAccess();
            SuspensionModel      model = SuspensionDataAccess.Read(id);

            return(View(model));
        }
示例#3
0
        public ActionResult SetSuspension(string Id)
        {
            SuspensionModel suspension = new SuspensionModel
            {
                SuspensionId = Guid.NewGuid(),
                Start        = DateTime.Today,
                End          = DateTime.Today.AddDays(1),
                CustomerId   = Guid.Parse(Id)
            };

            return(View(suspension));
        }
示例#4
0
        public async Task <ActionResult> Register(SuspensionModel model)
        {
            if (ModelState.IsValid)
            {
                SuspensionDataAccess SuspensionDataAccess = new SuspensionDataAccess();
                SuspensionDataAccess.Create(model);

                return(RedirectToAction("List", "Suspension"));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        //private async Task SuspensionsHub_OnNewSuspension(object _, NewSuspensionEventArgs args)
        //{
        //    var qParam = new QueryParam("suspensionId", args.SuspensionId.ToString());
        //    var newSuspension = await apiGateway.Get<SuspensionModel>("suspensions", queryParams: qParam).ConfigureAwait(false);
        //    UpdateState(newSuspension);
        //}

        private void UpdateState(SuspensionModel model)
        {
            if (model == null)
            {
                return;
            }

            var existingValue = Suspensions.Find(x => x.SuspensionId == model.SuspensionId);

            Suspensions.Remove(existingValue);
            Suspensions.Add(model);

            NotifyStateChanged();
        }
示例#6
0
        /// <summary>
        /// Applies suspension data on the axle's wheel's suspension
        /// </summary>
        /// <param name="model">Data asset with suspension parameters</param>
        public void SetSuspensionModel(SuspensionModel model)
        {
            JointSpring suspensionSpring = new JointSpring();

            suspensionSpring.spring         = model.springForce;
            suspensionSpring.damper         = model.damper;
            suspensionSpring.targetPosition = model.targetPosition;

            leftWheel.suspensionSpring   = suspensionSpring;
            leftWheel.suspensionDistance = model.suspensionDistance;

            rightWheel.suspensionSpring   = suspensionSpring;
            rightWheel.suspensionDistance = model.suspensionDistance;
        }
示例#7
0
 public void SetCurrentlySelectedSuspensionForImages(SuspensionModel suspension)
 {
     CurrentlySelectedSuspensionForImages = suspension;
     NotifyStateChanged();
 }