/// <summary> /// Method to Add the route passed in the parameters to the database /// </summary> /// <param name="route">Object Route to Add</param> public async Task <ApiResponse> Add(Route route) { try { Route newRoute = _routeBusiness.SeparateStep(route); await _context.Routes.AddAsync(newRoute); await _context.SaveChangesAsync(); var responseSteps = await _routeStepBusiness.SetUp(route.RouteSteps.ToList(), newRoute.Id); if (responseSteps.Status == ApiStatus.Ok) { var responseTags = await _routeTagBusiness.SetUp(route.RouteTags.ToList(), newRoute.Id); if (responseTags.Status == ApiStatus.Ok) { return(new ApiResponse { Status = ApiStatus.Ok, Message = ApiAction.Add, Response = await this.Find(newRoute.Id) }); } else { return(responseTags); } } else { return(responseSteps); } } catch (Exception e) { return(TranslateError.Convert(e)); } }