Пример #1
0
        public UserTuneViewModel GetUserTuneDetail(UserTuneViewModel userTuneViewModel)
        {
            pidhubEntities entity = new pidhubEntities();
            var            tune   = (from t in entity.Tunes
                                     where t.Tune_ID == userTuneViewModel.TuneID
                                     select t).FirstOrDefault();

            userTuneViewModel.QuadID = tune.Quad_ID;
            userTuneViewModel.TuneID = tune.Tune_ID;
            userTuneViewModel.FlightControllerSoftwareID = tune.Quad.FlightControllerSoftwareID;
            userTuneViewModel.TuneName     = tune.TuneName;
            userTuneViewModel.Roll_P       = tune.Roll_P == null ? 0 : tune.Roll_P;
            userTuneViewModel.Pitch_P      = tune.Pitch_P;
            userTuneViewModel.Yaw_P        = tune.Yaw_P;
            userTuneViewModel.Roll_I       = tune.Roll_I;
            userTuneViewModel.Pitch_I      = tune.Pitch_I;
            userTuneViewModel.Yaw_I        = tune.Yaw_I;
            userTuneViewModel.Roll_D       = tune.Roll_D;
            userTuneViewModel.Pitch_D      = tune.Pitch_D;
            userTuneViewModel.Yaw_D        = tune.Yaw_D;
            userTuneViewModel.Roll_Rate    = tune.Roll_Rate;
            userTuneViewModel.Pitch_Rate   = tune.Pitch_Rate;
            userTuneViewModel.Yaw_Rate     = tune.Yaw_Rate;
            userTuneViewModel.Roll_RCRate  = tune.Roll_RCRate;
            userTuneViewModel.Pitch_RCRate = tune.Pitch_RCRate;
            userTuneViewModel.Yaw_RCRate   = tune.Yaw_RCRate;
            userTuneViewModel.Roll_RCCurve = tune.Roll_RCCurve;
            userTuneViewModel.Yaw_RCCurve  = tune.Yaw_RCCurve;
            userTuneViewModel.Roll_RCExpo  = tune.Roll_RCExpo;
            userTuneViewModel.Pitch_RCExpo = tune.Pitch_RCExpo;
            userTuneViewModel.Yaw_RCExpo   = tune.Yaw_RCExpo;

            return(userTuneViewModel);
        }
Пример #2
0
        public SaveResult SaveTune(UserTuneViewModel userTuneViewModel)
        {
            SaveResult saveResult = new SaveResult();

            try
            {
                pidhubEntities entity = new pidhubEntities();
                Tune           tune;

                // if Tune ID is not present then create a new Tune, else get the existing entity
                if (userTuneViewModel.TuneID == 0)
                {
                    tune = new Tune();
                }
                else
                {
                    tune = (from t in entity.Tunes
                            where t.Tune_ID == userTuneViewModel.TuneID
                            select t).FirstOrDefault();
                }

                // update values in entity
                tune.Quad_ID       = userTuneViewModel.QuadID;
                tune.TuneName      = userTuneViewModel.TuneName;
                tune.Roll_P        = userTuneViewModel.Roll_P;
                tune.Pitch_P       = userTuneViewModel.Pitch_P;
                tune.Yaw_P         = userTuneViewModel.Yaw_P;
                tune.Roll_I        = userTuneViewModel.Roll_I;
                tune.Pitch_I       = userTuneViewModel.Pitch_I;
                tune.Yaw_I         = userTuneViewModel.Yaw_I;
                tune.Roll_D        = userTuneViewModel.Roll_D;
                tune.Pitch_D       = userTuneViewModel.Pitch_D;
                tune.Yaw_D         = userTuneViewModel.Yaw_D;
                tune.Roll_Rate     = userTuneViewModel.Roll_Rate;
                tune.Pitch_Rate    = userTuneViewModel.Pitch_Rate;
                tune.Pitch_RCRate  = userTuneViewModel.Pitch_RCRate;
                tune.Yaw_Rate      = userTuneViewModel.Yaw_Rate;
                tune.Yaw_RCRate    = userTuneViewModel.Yaw_RCRate;
                tune.Roll_RCRate   = userTuneViewModel.Roll_RCRate;
                tune.Roll_RCCurve  = userTuneViewModel.Roll_RCCurve;
                tune.Pitch_RCCurve = userTuneViewModel.Pitch_RCCurve;
                tune.Yaw_RCCurve   = userTuneViewModel.Yaw_RCCurve;
                tune.Roll_RCExpo   = userTuneViewModel.Roll_RCExpo;
                tune.Pitch_RCExpo  = userTuneViewModel.Pitch_RCExpo;
                tune.Yaw_RCExpo    = userTuneViewModel.Yaw_RCExpo;

                // if this is a new Tune then must 'Add' to entity
                if (userTuneViewModel.TuneID == 0)
                {
                    entity.Tunes.Add(tune);
                }

                entity.SaveChanges();
            }
            catch (Exception ex)
            {
                saveResult.ErrorMessage = String.Format("There was an error saving your tune: {0}.", ex.Message);
            }
            return(saveResult);
        }
Пример #3
0
        public PartialViewResult EditTune(int tuneID)
        {
            UserTuneViewModel userTuneViewModel = new UserTuneViewModel();

            userTuneViewModel = userTuneViewModel.GetUserTuneDetail(tuneID);

            return(PartialView("~/Views/_AddEditTune.cshtml", userTuneViewModel));
        }
Пример #4
0
        public PartialViewResult AddTune(int quadID, int fcSoftwareID)
        {
            UserTuneViewModel userTuneViewModel = new UserTuneViewModel();

            userTuneViewModel.QuadID = quadID;
            userTuneViewModel.FlightControllerSoftwareID = fcSoftwareID;

            return(PartialView("~/Views/_AddEditTune.cshtml", userTuneViewModel));
        }
Пример #5
0
        public PartialViewResult GetPIDTable(int fcControllerSoftwareID, int tuneID, bool isEditable)
        {
            UserTuneViewModel userTuneViewModel = new UserTuneViewModel();

            if (tuneID != 0)
            {
                userTuneViewModel = userTuneViewModel.GetUserTuneDetail(tuneID);
            }
            else
            {
                userTuneViewModel.Roll_P        = 0;
                userTuneViewModel.Pitch_P       = 0;
                userTuneViewModel.Yaw_P         = 0;
                userTuneViewModel.Roll_I        = 0;
                userTuneViewModel.Pitch_I       = 0;
                userTuneViewModel.Yaw_I         = 0;
                userTuneViewModel.Roll_D        = 0;
                userTuneViewModel.Pitch_D       = 0;
                userTuneViewModel.Yaw_D         = 0;
                userTuneViewModel.Roll_Rate     = 0;
                userTuneViewModel.Pitch_Rate    = 0;
                userTuneViewModel.Yaw_Rate      = 0;
                userTuneViewModel.Yaw_RCRate    = 0;
                userTuneViewModel.Pitch_RCRate  = 0;
                userTuneViewModel.Roll_RCRate   = 0;
                userTuneViewModel.Roll_RCCurve  = 0;
                userTuneViewModel.Pitch_RCCurve = 0;
                userTuneViewModel.Yaw_RCCurve   = 0;
                userTuneViewModel.Roll_RCExpo   = 0;
                userTuneViewModel.Pitch_RCExpo  = 0;
                userTuneViewModel.Yaw_RCExpo    = 0;
            }

            userTuneViewModel.isEditable = isEditable;

            //use tuneID to get all the pid info for the tune and populate some viewmodel with it and send the viewmodel back with corosponding pid partial view.
            switch (fcControllerSoftwareID)
            {
            case 1:
                return(PartialView("~/Views/_KissPIDS.cshtml", userTuneViewModel));

            case 2:
                return(PartialView("~/Views/_CleanFlightPIDS.cshtml", userTuneViewModel));

            case 3:
                return(PartialView("~/Views/_CleanFlightPIDS.cshtml", userTuneViewModel));

            default:
                return(null);
            }
        }
Пример #6
0
        public string SaveTune(UserTuneViewModel userTuneViewModel)
        {
            SaveViewModel saveViewModel = new SaveViewModel();
            SaveResult    saveResult    = saveViewModel.SaveTune(userTuneViewModel);

            if (String.IsNullOrEmpty(saveResult.ErrorMessage))
            {
                return("");
            }
            else
            {
                return(saveResult.ErrorMessage);
            }
        }