public ObservableCollection<FoodCategoryViewModel> GetFoodCategories() { _foodCategories = new ObservableCollection<FoodCategoryViewModel>(); using (var db = new SQLite.SQLiteConnection(App.DBPath)) { var query = db.Table<FoodCategory>().OrderBy(c => c.Id); foreach (var _foodCategory in query) { var foodcategory = new FoodCategoryViewModel() { Id = _foodCategory.Id, Name = _foodCategory.Name }; _foodCategories.Add(foodcategory); } } return _foodCategories; }
public FoodCategoryViewModel GetFoodCategory(int foodCategoryId) { var foodcategoryitem = new FoodCategoryViewModel(); using (var db = new SQLite.SQLiteConnection(App.DBPath)) { var _foodCategory = (db.Table<FoodCategory>().Where( c => c.Id == foodCategoryId)).Single(); foodcategoryitem.Id = _foodCategory.Id; foodcategoryitem.Name = _foodCategory.Name; foodcategoryitem.UnitOfMeasure = _foodCategory.UnitOfMeasure; } return foodcategoryitem; }
public FoodCategoryViewModel GetFoodCategoryByName(string foodCategoryName) { FoodCategoryViewModel foodCategory = null; using (var db = new SQLite.SQLiteConnection(App.DBPath)) { try { var _foodCategory = (db.Table<FoodCategory>().Where( c => c.Name.Contains(foodCategoryName))).Single(); if (_foodCategory != null) { foodCategory = new FoodCategoryViewModel(); foodCategory.Id = _foodCategory.Id; foodCategory.Name = _foodCategory.Name; foodCategory.UnitOfMeasure = _foodCategory.UnitOfMeasure; } } catch { } } return foodCategory; }
public string SaveFoodCategory(FoodCategoryViewModel foodCategory) { string result = string.Empty; using (var db = new SQLite.SQLiteConnection(App.DBPath)) { //string change = string.Empty; try { var existingFoodCategory = (db.Table<FoodCategory>().Where( c => c.Id == foodCategory.Id)).SingleOrDefault(); if (existingFoodCategory != null) { existingFoodCategory.Name = foodCategory.Name; existingFoodCategory.UnitOfMeasure = foodCategory.UnitOfMeasure; int success = db.Update(existingFoodCategory); } else { int success = db.Insert(new FoodCategory() { Name = foodCategory.Name, UnitOfMeasure = foodCategory.UnitOfMeasure }); } result = "Success"; } catch { result = "This food category item was not saved."; } } return result; }
private async void ImportMealItemsData(string fileContent, string mealItemCategory) { string line = ""; string[] mealItemsRaw = fileContent.Split('|'); char[] trimChar = {'\n','\r'}; bool mealItemExists = false; foreach(var mealItemRaw in mealItemsRaw) { if (mealItemRaw.ToString().Length == 0) { continue; } string mealItemInfo = mealItemRaw.TrimStart(trimChar); using (System.IO.StringReader stringReader = new System.IO.StringReader(mealItemInfo)) { int lineNo = 0; string mealItemName = ""; float grossWeight = 0; float divisionFactor = 0; string grossWeightUnitOfMeasure = ""; List<string> rawIngredients = new List<string>(); while ((line = await stringReader.ReadLineAsync()) != null) { // At 0 this should be the name if (lineNo == 0) { mealItemName = CleanMealItemName(line); MealItemViewModel mealItemView = new MealItemViewModel(); // In case the meal item exists we move on to the next if (mealItemView.MealItemExists(mealItemName) == true) { mealItemExists = true; break; } lineNo++; continue; } if (line.Contains("Personen")) { string _grossWeight; string _divisionFactor; GetGrossWeightAndDivisionFactor(line, out _grossWeight, out grossWeightUnitOfMeasure, out _divisionFactor); _divisionFactor = _divisionFactor.Replace(',', '.'); _grossWeight = _grossWeight.Replace(',', '.'); divisionFactor = float.Parse(_divisionFactor, CultureInfo.InvariantCulture.NumberFormat); grossWeight = float.Parse(_grossWeight, CultureInfo.InvariantCulture.NumberFormat) / divisionFactor; lineNo++; continue; } rawIngredients = InterpretIngredientDefinition(line); lineNo++; } // Let's see if there was an inner break if (mealItemExists) { mealItemExists = false; continue; } // if go this far it means a new meal item MealItemViewModel mealItem = new MealItemViewModel(); IngredientViewModel ingredient = null; foreach (var rawIngredient in rawIngredients) { string amount; string unitOfMeasure; ingredient = GetIngredientDetails(rawIngredient, out amount, out unitOfMeasure); if (ingredient != null) { UnitOfMeasureViewModel unitOfMeasureModel = new UnitOfMeasureViewModel(); unitOfMeasureModel = unitOfMeasureModel.GetUnitOfMeasure(ingredient.UnitOfMeasure); amount = amount.Replace(',', '.'); float floatAmount = float.Parse(amount, CultureInfo.InvariantCulture.NumberFormat); // Recalculating kilogramms and liters if ((unitOfMeasure.Equals("kg", StringComparison.CurrentCultureIgnoreCase)) || (unitOfMeasure.Equals("Ltr", StringComparison.CurrentCultureIgnoreCase))) floatAmount = floatAmount * 1000; // Devive by the number of people all amounts were calculated for floatAmount = floatAmount / divisionFactor; mealItem.IngredientIDsWithTotalAmount.Add(ingredient.Id, floatAmount); } } mealItem.Name = mealItemName; if (grossWeightUnitOfMeasure.Equals("Ltr", StringComparison.CurrentCultureIgnoreCase) || grossWeightUnitOfMeasure.Equals("kg", StringComparison.CurrentCultureIgnoreCase)) grossWeight = grossWeight * 1000; if (grossWeightUnitOfMeasure.Equals("kg", StringComparison.CurrentCultureIgnoreCase) || grossWeightUnitOfMeasure.Equals("g", StringComparison.CurrentCultureIgnoreCase)) mealItem.TotalAmountUnitOfMeasure = 1; if (grossWeightUnitOfMeasure.Equals("Ltr", StringComparison.CurrentCultureIgnoreCase) || grossWeightUnitOfMeasure.Equals("ml", StringComparison.CurrentCultureIgnoreCase)) mealItem.TotalAmountUnitOfMeasure = 2; mealItem.TotalAmount = grossWeight; FoodCategoryViewModel mealItemCategoryModel = new FoodCategoryViewModel(); mealItemCategoryModel = mealItemCategoryModel.GetFoodCategoryByName(mealItemCategory); if (mealItemCategoryModel != null) { mealItem.CategoryId = mealItemCategoryModel.Id; } _mealItems.Add(mealItem); } } }