Exemple #1
0
        public SaveResult Save()
        {
            try
            {
                int count = 1;
                Trip.Steps.Add(new Step(AddressStart, TypeStep.Start, count++));
                if (Steps != null)
                {
                    foreach (var item in Steps)
                    {
                        Trip.Steps.Add(new Step(item, TypeStep.Step, count++));
                    }
                }
                Trip.Steps.Add(new Step(AddressEnd, TypeStep.End, count++));

                Trip.Driver    = SessionHelper.CurrentUser;
                Trip.DateStart = Date.AddHours(Hours.Hour).AddMinutes(Hours.Minute);
                Trip.RoundTrip = RoundTrip == "on";
                Trip.Duration  = new TimeSpan(0, 0, 0, Duration);
                var res  = Trip.Save();
                var json = GoogleApi.GetGoogleDirection(AddressStart, AddressEnd, Steps);
                Container.Manager.VoyageGuidageOperation.Add(Container.Manager.VoyageOperation.GetById(res.Id), json);
                Container.Manager.Save();
                return(new SaveResult(true, Trip.Id));
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "TripViewModel.Save()");
                return(new SaveResult(ex));
            }
        }