public ActionResult AddWeekPlan(string name, int active) { RecipeRepository repo = new RecipeRepository(ConnectionString); bool isActive = false; //set all other weekplans Active = false; if (active == 1) { isActive = true; repo.SetWeekPlanToInactive(User.Id); } int week = WeekOfYearISO8601(DateTime.Now); WeekPlan weekPlan = new WeekPlan { Name = name, UserId = User.Id, Week = week, CreatedAt = DateTime.Now.ToShortDateString(), Active = isActive }; repo.InsertWeekPlan(weekPlan); SetIndexViewData(); return(Content("ok")); }
private void SetIndexViewData() { RecipeRepository repo = new RecipeRepository(ConnectionString); WeekPlan activeWeekPlan = new WeekPlan(); List <WeekPlan> weekPlans = repo.GetWeekPlans(User.Id); int weekPlanId = 0; foreach (WeekPlan weekPlan in weekPlans) { if (weekPlan.Active) { foreach (WeekItem item in weekPlan.WeekItems) { Recipe recipe = repo.GetRecipe(item.RecipeId); item.Recipe = recipe; weekPlanId = weekPlan.Id; } activeWeekPlan = weekPlan; } } List <MySettings> settings = GetMySettings(); //antar dagar i veckoplanen MySettings firstDay = settings.First(x => x.Key == "FirstDay"); MySettings days = settings.First(x => x.Key == "DayCount"); string[] t = new string[] { "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag" }; string[] m = new string[Int32.Parse(days.Value)]; int counter = GetDayInt(firstDay.Value); for (int i = 1; i <= Int32.Parse(days.Value); i++) { if (counter == 8) { counter = 1; } m[(i - 1)] = t[counter - 1]; counter++; } ViewBag.WeekDays = m; //ViewBag.WeekDays = new string[] { "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag" }; //Add empty activeWeekPlan.WeekItems.Insert(0, new WeekItem { Id = 0, Recipe = new Recipe { Name = "-", Id = 0 }, RecipeId = 0 }); ViewBag.WeekPlan = activeWeekPlan; }
private async void WeekPlanPage_OnLoaded(object sender, RoutedEventArgs e) { if (IsEnabled) { return; } await Task.Delay(100); QueryResult currWeekPlan = await App.ExecuteQuery("select Wochentag, IDRezepte from Wochenplan"); _currRecipes = currWeekPlan.ReturnedRows.Select(a => (int)a[1]).ToArray(); _currRecipesDistinct = _currRecipes.Distinct().ToArray(); string currRecipesQuery = $"select ID, Gerichtname from Rezepte where ID = {_currRecipesDistinct[0]}"; for (int i = 1; i < _currRecipesDistinct.Length; i++) { currRecipesQuery += $" or ID = {_currRecipesDistinct[i]}"; } QueryResult currRecipes = await App.ExecuteQuery(currRecipesQuery); var currWeekPlanObj = new WeekPlan { Monday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Montag"))?[1] ?? default(int))))?[1].ToString(), Tuesday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Dienstag"))?[1] ?? default(int))))?[1].ToString(), Wednesday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Mittwoch"))?[1] ?? default(int))))?[1].ToString(), Thursday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Donnerstag"))?[1] ?? default(int))))?[1].ToString(), Friday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Freitag"))?[1] ?? default(int))))?[1].ToString(), Saturday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Samstag"))?[1] ?? default(int))))?[1].ToString(), Sunday = currRecipes.ReturnedRows.FirstOrDefault(a => a[0].Equals((int)(currWeekPlan.ReturnedRows.FirstOrDefault(b => b[0].Equals("Sonntag"))?[1] ?? default(int))))?[1].ToString() }; DataContext = currWeekPlanObj; IsEnabled = true; }
public void Validate_WeekPlan_Missing_Days() { // Arrange WeekPlan invalidPlan = new WeekPlan() { StartDate = DateTime.Today.AddDays(1) }; invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(1) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(2) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(3) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(4) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(5) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(6) }); invalidPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(7) }); int i = 0; foreach (WeekDay day in invalidPlan.WeekDays) { if (i != 6) { day.AddMeal(validMeal); } i++; } // Act string errorMessage = invalidPlan.Validate(); // Assert Assert.Equal(Constants.WeekPlanInvalidSmall, errorMessage); }
public void Validate_WeekPlan_No_DietaryRepresentation() { // Arrange WeekPlan validPlan = new WeekPlan() { StartDate = DateTime.Today.AddDays(1) }; validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(1) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(2) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(3) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(4) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(5) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(6) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(7) }); // Starter does not represent any dietary restrictions // The meal is now unsuitable for any dietary restrictions, test should fail validMeal.Starter.DietaryRestrictions = 0; foreach (WeekDay day in validPlan.WeekDays) { day.AddMeal(validMeal); } // Act string errorMessage = validPlan.Validate(); // Assert Assert.Equal(Constants.WeekPlanDietaryRepresentation + ", probleem bij dag 1", errorMessage); }
public void Validate_WeekPlan_Valid_Test() { // Arrange WeekPlan validPlan = new WeekPlan() { StartDate = DateTime.Today.AddDays(1) }; validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(1) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(2) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(3) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(4) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(5) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(6) }); validPlan.WeekDays.Add(new WeekDay() { MealDate = DateTime.Today.AddDays(7) }); foreach (WeekDay day in validPlan.WeekDays) { day.AddMeal(validMeal); } // Act string errorMessage = validPlan.Validate(); // Assert Assert.Null(errorMessage); }
/// <summary> /// 获取周计划 /// </summary> /// <param name="deviceIp">门禁主机ip</param> /// <param name="wPlan">周计划</param> /// <returns>true:成功 false:失败</returns> public bool GetWeekPlan(string deviceIp, ref WeekPlan wPlan) { CHDOperate op = GetOPByIP(deviceIp); bool b = false; if (null != op && !string.IsNullOrWhiteSpace(deviceIp)) { if (op.isLinkOn) { b = op.GetWeePlan(ref wPlan); return(b); } } TextMsg?.Invoke(string.Format("门禁主机 {0} 设置周计划失败···", deviceIp, DateTime.Now)); return(false); }
public void SaveWeekPlan(WeekPlan weekPlan) { if (weekPlan.Id == 0) { context.WeekPlans.Add(weekPlan); } else { WeekPlan dbEntry = context.WeekPlans .FirstOrDefault(d => d.Id == weekPlan.Id); context.WeekPlans.Remove(dbEntry); weekPlan.Id = 0; context.WeekPlans.Add(weekPlan); } context.SaveChanges(); }
public async Task <IActionResult> EditWeekplan(int weekplanId) { var user = await userManager.GetUserAsync(HttpContext.User); WeekPlan plan = repository.WeekPlans(user.Email) .FirstOrDefault(wp => wp.Id == weekplanId); System.Diagnostics.Debug.WriteLine("Logging my current weekplan from EditWeekplan"); System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(plan, new JsonSerializerSettings() { PreserveReferencesHandling = PreserveReferencesHandling.Objects, Formatting = Formatting.Indented })); foreach (WeekDay day in plan.WeekDays) { foreach (Meal meal in day.Meals) { if (meal.StarterId != 0) { meal.Starter = repository.GetDishById(meal.StarterId); } if (meal.MainId != 0) { meal.Main = repository.GetDishById(meal.MainId); } if (meal.DessertId != 0) { meal.Dessert = repository.GetDishById(meal.DessertId); } } } WeekplanViewModel viewModel = new WeekplanViewModel { WeekPlan = plan }; SaveWeekplanViewModel(viewModel); return(View(viewModel)); }
public static async Task <IActionResult> CreateWeekPlan([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "weekplans")] HttpRequest req, ILogger log) { log.LogInformation("CreateWeekPlan triggered...."); var persistenceService = ServiceFactory.GetPersistenceService(); try { string requestBody = new StreamReader(req.Body).ReadToEnd(); WeekPlan plan = JsonConvert.DeserializeObject <WeekPlan>(requestBody); return((ActionResult) new OkObjectResult(await persistenceService.AddWeekPlanAsync(plan))); } catch (Exception e) { var error = $"CreateWeekPlan failed: {e.Message}"; log.LogError(error); return(new BadRequestObjectResult(error)); } }
public async Task <IActionResult> SaveWeekplan() { var user = await userManager.GetUserAsync(HttpContext.User); System.Diagnostics.Debug.WriteLine("Logging my current weekplan from SaveWeekplan"); System.Diagnostics.Debug.WriteLine(JsonConvert.SerializeObject(GetWeekplanViewModel(), new JsonSerializerSettings() { PreserveReferencesHandling = PreserveReferencesHandling.Objects, Formatting = Formatting.Indented })); WeekplanViewModel viewModel = GetWeekplanViewModel(); WeekPlan weekPlan = viewModel.WeekPlan; weekPlan.ChefEmail = user.Email; repository.SaveWeekPlan(weekPlan); TempData["message"] = $"Weekplan voor {viewModel.dateRange} is opgeslagen"; DeleteWeekplanViewModel(); return(RedirectToAction("WeekPlans")); }
public ActionResult ActiveWeekPlanExists() { if (User == null) { return(Content("0")); } int id = 0; //Get week int week = WeekOfYearISO8601(DateTime.Now); RecipeRepository repo = new RecipeRepository(ConnectionString); WeekPlan weekPlan = repo.GetActiveWeekPlan(User.Id); if (weekPlan == null) { //create a new one weekPlan = new WeekPlan { Name = week + "", UserId = User.Id, Week = week, CreatedAt = DateTime.Now.ToShortDateString(), Active = true }; repo.InsertWeekPlan(weekPlan); weekPlan = repo.GetActiveWeekPlan(User.Id); } return(Content(weekPlan.Id + "")); }
private WeekplanViewModel GetWeekplanViewModel() { WeekplanViewModel viewModel = HttpContext.Session .GetJson <WeekplanViewModel>("WeekplanViewModel"); if (viewModel == null) { DateTime today = DateTime.Today; int daysUntilMonday = ((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7; DateTime nextMonday; if (daysUntilMonday == 0) { nextMonday = today.AddDays(7); } else { nextMonday = today.AddDays(daysUntilMonday); } WeekPlan newPlan = new WeekPlan() { StartDate = nextMonday }; WeekplanViewModel newViewModel = new WeekplanViewModel { WeekPlan = newPlan }; newViewModel.initiate(); viewModel = newViewModel; } return(viewModel); }
public async Task <WeekPlan> AddWeekPlanAsync(WeekPlan weekPlan) { var container = await GetContainer(); return(await container.CreateItemAsync <WeekPlan>(weekPlan, new PartitionKey(weekPlan.Id))); }
public async Task <WeekPlan> UpdateWeekPlanAsync(string id, WeekPlan weekPlan) { throw new NotImplementedException(); }
public async Task <WeekPlan> AddWeekPlanAsync(WeekPlan weekPlan) { throw new NotImplementedException(); }
public async Task <WeekPlan> UpdateWeekPlanAsync(string id, WeekPlan weekPlan) { var container = await GetContainer(); return(await container.UpsertItemAsync <WeekPlan>(weekPlan, new PartitionKey(id))); }