private void saveRecipeButton_Click(object sender, RoutedEventArgs e) { recipe.ID_RECIPE = _dbUtilitiesInstance.GetMaxIDRecipe() + 1; //Check name if (recipeNameTextBox.Text.Length == 0) { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống tên món ăn", "Cancel", () => { }); return; } else { recipe.NAME = recipeNameTextBox.Text; } //check description if (recipeDescriptionTextBox.Text.Length == 0) { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống phần mô tả", "Cancel", () => { }); return; } else { recipe.DESCRIPTION = recipeDescriptionTextBox.Text; } //Allow to empty recipe.LINK_VIDEO = linkVideoTextBox.Text; //Check empty Avatar if (avatarImage.Source.ToString() == FindResource("IconEmptyAvt").ToString()) { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống hình đại diện", "Cancel", () => { }); return; } if (isValidTime()) { recipe.TIME = int.Parse(hourTextBox.Text) * 60 + int.Parse(minuteTextBox.Text); } else { if (int.Parse(minuteTextBox.Text) >= 60) { notiMessageSnackbar.MessageQueue.Enqueue("Số phút thực hiện phải nhỏ hơn 60", "Cancel", () => { }); } else { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống thời gian hoàn thành", "Cancel", () => { }); } hourTextBox.Text = ""; minuteTextBox.Text = ""; return; } recipe.FOOD_GROUP = groupComboBox.Text; recipe.FOOD_LEVEL = levelComboBox.SelectedIndex; if (recipe.Igredients.Count == 0) { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống nguyên liệu", "Cancel", () => { }); return; } else { //Do Nothing } if (recipe.Steps.Count == 0) { notiMessageSnackbar.MessageQueue.Enqueue("Không được bỏ trống các bước thực hiện", "Cancel", () => { }); return; } else { try { var srcAvatar = avatarImage.Source.ToString(); recipe.LINK_AVATAR = _appUtilities.getTypeOfImage(srcAvatar); var today = DateTime.Now; Debug.WriteLine(recipe.NAME); if (_dbUtilitiesInstance.InsertRecipe(recipe.ID_RECIPE, recipe.NAME, recipe.DESCRIPTION, recipe.LINK_VIDEO, recipe.LINK_AVATAR, recipe.TIME, recipe.FOOD_GROUP, recipe.FOOD_LEVEL, false, false, today) == 1) { _appUtilities.createIDDirectory(recipe.ID_RECIPE); _appUtilities.copyImageToIDDirectory(recipe.ID_RECIPE, srcAvatar, "avatar"); foreach (var igredient in recipe.Igredients) { try { _dbUtilitiesInstance.InsertIgredient(recipe.ID_RECIPE, igredient.NAME, igredient.QUANTITY); } catch (Exception excep) { Debug.WriteLine(excep.Message); } var steps = recipe.Steps.ToList(); for (int no_step = 1; no_step <= steps.Count; ++no_step) { var step = steps[no_step - 1]; step.ID_RECIPE = recipe.ID_RECIPE; try { _dbUtilitiesInstance.InsertStep(recipe.ID_RECIPE, no_step, step.DETAIL); } catch (Exception excep) { Debug.WriteLine(excep.Message); } var images = step.StepImages.ToList(); for (int no_image = 1; no_image <= images.Count; ++no_image) { var image = images[no_image - 1]; image.ID_RECIPE = recipe.ID_RECIPE; var srcImage = image.LINK_IMAGES; var linkImage = $"{no_step}_{no_image}"; try { _appUtilities.copyImageToIDDirectory(recipe.ID_RECIPE, srcImage, linkImage); } catch (Exception excep) { Debug.WriteLine(excep.Message); } try { _dbUtilitiesInstance.InsertStepImages(recipe.ID_RECIPE, no_step, $"{linkImage}.{_appUtilities.getTypeOfImage(srcImage)}"); } catch (Exception excep) { Debug.WriteLine(excep.Message); } } notiMessageSnackbar.MessageQueue.Enqueue("Thêm món ăn thành công", "BACK HOME", BackHome); } } } else { notiMessageSnackbar.MessageQueue.Enqueue($"Đã tồn tại {recipe.NAME}", "BACK HOME", BackHome); } } catch (Exception excep) { Debug.WriteLine(excep.Message); } } clearForm(); totalStep = 0; }