public static async Task <List <Operation> > LinkCategories(this List <Operation> operations) { var categoriesAndSubCategories = await CategoriesDal.GetAllCategoriesAndSubCategoriesAsync(); operations.ForEach(op => op.GeneralCategory = categoriesAndSubCategories.FirstOrDefault(cat => cat.GlobalId == op.CategoryGlobalId)); return(operations); }
public async Task <QueriesDataResponse> GetQueriesNReportsNameList(string categoryId) { CategoriesDal categoriesDal = new CategoriesDal(); ReportsDal reportsDal = new ReportsDal(); var responseData = new QueriesDataResponse(); List <QueryData> Querieslst = new List <QueryData>(); int categoryIdNum = 0; int.TryParse(categoryId, out categoryIdNum); var category = categoriesDal.GetCategoryById(categoryIdNum); var queriesData = await HttpProvider.GetHttpRequest(StaticParams.TfsUrl, "Enterprise/_apis/wit/queries/Shared%20Queries/Release%20Dashboard/Reports/" + category.CategoryName + "?$depth=1"); QueriesDataRequest queriesDataObject = JsonConvert.DeserializeObject <QueriesDataRequest>(queriesData); foreach (var item in queriesDataObject.children) { var queryData = new QueryData() { Id = item.id, Name = item.name }; Querieslst.Add(queryData); } responseData.AllAvailableQueries = Querieslst.ToArray(); responseData.AllReports = reportsDal.GetReportsByCategoryId(categoryIdNum).ToArray(); return(responseData); }
public async Task <IEnumerable <Pie> > GetChartList(string reportName, string categoryName) { CategoriesDal categoriesDal = new CategoriesDal(); ReportChartDal chartsDal = new ReportChartDal(); var ChartsList = new List <Pie>(); Category category = categoriesDal.GetAllCategoriesIncludeReports().FirstOrDefault(r => r.CategoryName == categoryName); Report report = category.Reports.FirstOrDefault(r => r.ReportName == reportName); IEnumerable <ReportChartModel> reportsCarts = chartsDal.GetChartsList(r => r.ReportName == report.ReportId); foreach (var item in reportsCarts) { WorkItems workItemsData = await GetWorkItemData(item.QueryId); var ids = workItemsData.GetAllIds(); WorkItemResponse response = null; foreach (var id in ids) { var chartData = await HttpProvider.GetHttpRequest("_apis/wit/workItems?ids=" + id + "&fields=" + item.ColumnReferenceName); var currentItem = JsonConvert.DeserializeObject <WorkItemResponse>(chartData); if (response == null) { response = currentItem; } else { response.value.AddRange(currentItem.value); } } var propName = item.ColumnReferenceName.Replace(".", ""); var groupedData = response.value.GroupBy(p => p.fields.GetType().GetProperty(propName).GetValue(p.fields)); List <Datum> PieLabels = new List <Datum>(); int total = 0; foreach (var PieData in groupedData) { total += PieData.Count(); PieLabels.Add(new Datum { Label = PieData.Key == null ? "No data" : PieData.Key.ToString(), Value = PieData.Count() }); } var pie = new Pie { Name = item.ChartName, Element = "morris-donut-chart" + ChartsList.Count, Type = "Donut", Data = PieLabels.ToArray(), TotalData = total.ToString(), DataShowType = item.DataShowType.ToString().ToLower() }; ChartsList.Add(pie); } return(ChartsList); }
public GroupHeaderByCategory(string categoryGlobalId) { Category = CategoriesDal.GetCategoryByGlobalId(categoryGlobalId) ?? new Category { Name = new Windows.ApplicationModel.Resources.ResourceLoader().GetString("uncategorized"), Id = -1, ColorKey = "12", IconKey = "FontIcon_19" }; }
private async Task <Operation> MakeOperationAsync() { var newMoneyValue = decimal.Parse(_acceptedCostValue); var operationCost = newMoneyValue - _actualMoneyValue; return(new Operation { Cost = Math.Abs(operationCost), isExpense = operationCost < 0, MoneyAccountId = _account.GlobalId, Title = "Aktualizacja salda", Date = DateTime.Today.ToString("yyyy.MM.dd"), CategoryGlobalId = (await CategoriesDal.GetDefaultCategoryAsync()).GlobalId //TODO trzeba dać warunek żeby nie updateowało tych co nie można usuwać }); }
private async void TypeOfOperationRadioButton_Checked(object sender, RoutedEventArgs e) { RaisePropertyChanged(nameof(AccountsComboBox)); if (CategoryValue.SelectedIndex != -1) { string idOfSelectedCategory = ((ComboBoxItem)CategoryValue.SelectedItem).Tag.ToString(); string idOfSelectedSubCategory = string.Empty; if (SubCategoryValue.SelectedIndex != -1) { idOfSelectedSubCategory = ((ComboBoxItem)SubCategoryValue.SelectedItem).Tag.ToString(); } await SetCategoryComboBoxItems((bool)Expense_RadioButton.IsChecked, (bool)Income_RadioButton.IsChecked); if (CategoryValue.Items.OfType <ComboBoxItem>().Any(i => i.Tag.ToString() == idOfSelectedCategory)) { CategoryValue.SelectedItem = CategoryValue.Items.OfType <ComboBoxItem>().Single(i => i.Tag.ToString() == idOfSelectedCategory); } else { SubCategoryValue.IsEnabled = false; } if (!string.IsNullOrEmpty(idOfSelectedSubCategory)) { if (SubCategoryValue.Items.OfType <SubCategory>().Any(i => i.GlobalId == idOfSelectedSubCategory)) { Category subCatItem = CategoriesDal.GetCategoryByGlobalId(idOfSelectedSubCategory); SubCategoryValue.SelectedItem = SubCategoryValue.Items.OfType <ComboBoxItem>().Single(ri => ri.Content.ToString() == subCatItem.Name); } } } else { await SetCategoryComboBoxItems((bool)Expense_RadioButton.IsChecked, (bool)Income_RadioButton.IsChecked); SubCategoryValue.IsEnabled = false; } SetPrimaryButtonEnabling(); }
private static ReportChartModel GetCart(string categoryName, string reportName, string chartName) { ReportChartModel currentChart = null; CategoriesDal categoryDal = new CategoriesDal(); var categoryId = categoryDal.GetCategoryIdByName(categoryName); if (categoryId > 0) { ReportsDal reportDal = new ReportsDal(); var reportId = reportDal.GetReportIdByNameAndCategoryId(categoryId, reportName); if (reportId > 0) { ReportChartDal reportChart = new ReportChartDal(); currentChart = reportChart.GetChartByNameAndCartegoryReportIds(categoryId, reportId, chartName); } } return(currentChart); }
private async Task <Operation> MakeOperation(string moneyAccoundId) { var charsToRemove = new[] { "+", "-" }; string cost = _acceptedCostValue; foreach (var c in charsToRemove) { cost = _acceptedCostValue.Replace(c, string.Empty); } return(new Operation { Cost = decimal.Parse(cost), isExpense = _acceptedCostValue.Contains("-"), MoneyAccountId = moneyAccoundId, Title = NameValue.Text, Date = DateTime.Today.ToString("yyyy.MM.dd"), CategoryGlobalId = (await CategoriesDal.GetDefaultCategoryAsync()).GlobalId //TODO trzeba dać warunek żeby nie updateowało tych co nie można usuwać }); }
private async Task SetCategoryComboBoxItems(bool inExpenses, bool inIncomes) { if (CategoryValue.Items == null) { return; } CategoryValue.Items.Clear(); foreach (Category catItem in await CategoriesDal.GetAllCategoriesAsync()) { if ((catItem.VisibleInExpenses && inExpenses) || (catItem.VisibleInIncomes && inIncomes)) { CategoryValue.Items.Add(new ComboBoxItem { Content = catItem.Name, Tag = catItem.GlobalId }); } } }
public async Task <IEnumerable <Chart> > GetChartList(string reportName, string categoryName) { CategoriesDal categoriesDal = new CategoriesDal(); ReportChartDal chartsDal = new ReportChartDal(); var ChartsList = new List <Chart>(); Category category = categoriesDal.GetAllCategoriesIncludeReports().FirstOrDefault(r => r.CategoryName == categoryName); Report report = category.Reports.FirstOrDefault(r => r.ReportName == reportName); IEnumerable <ReportChartModel> reportsCarts = chartsDal.GetChartsList(r => r.ReportName == report.ReportId); foreach (var item in reportsCarts) { try { switch (item.ChartType) { case Entities.Enums.ChartType.Pie: Pie pie = await GeneratPie(item, ChartsList.Count); ChartsList.Add(pie); break; case Entities.Enums.ChartType.Line: Linear linear = await GeneratLinear(item, ChartsList.Count); ChartsList.Add(linear); break; default: break; } } catch (Exception ex) { continue; } } return(ChartsList); }
private async Task SetSubCategoryComboBoxItems(bool inExpenses, bool inIncomes) { if (SubCategoryValue.Items == null) { return; } SubCategoryValue.Items.Clear(); if (CategoryValue.SelectedIndex == -1) { return; } foreach (var subCatItem in await CategoriesDal.GetSubCategoriesByBossIdAsync(((ComboBoxItem)CategoryValue.SelectedItem).Tag.ToString())) { if ((!subCatItem.VisibleInExpenses || !inExpenses) && (!subCatItem.VisibleInIncomes || !inIncomes)) { continue; } if (SubCategoryValue.Items.Count == 0) { SubCategoryValue.Items.Add(new ComboBoxItem { Content = "Brak", Tag = -1, }); } SubCategoryValue.Items.Add(new ComboBoxItem { Content = subCatItem.Name, Tag = subCatItem.GlobalId }); } SubCategoryValue.IsEnabled = SubCategoryValue.Items.Count != 0; }
public IEnumerable <Category> GetCategoryList() { CategoriesDal categoriesDal = new CategoriesDal(); return(categoriesDal.GetAllCategories().ToArray()); }
public void NotExistSubCategoryWithName() { DalBase.CreateDb(); CategoriesDal.AddCategory(subCategory); Assert.IsFalse(CategoriesDal.CategoryExistInBaseByName(subCategory.Name + "NotExist")); }
public void ExistSubCategoryWithName() { DalBase.CreateDb(); CategoriesDal.AddCategory(subCategory); Assert.IsTrue(CategoriesDal.CategoryExistInBaseByName(subCategory.Name)); }
public void NotExistCategoryWithName() { DalBase.CreateDb(); Assert.IsFalse(CategoriesDal.CategoryExistInBaseByName("Inne2")); }
public IEnumerable <Category> GetCategoryList() { CategoriesDal categoriesDal = new CategoriesDal(); return(categoriesDal.GetAllCategoriesIncludeReports()); }
public async void Loaded() { _categoriesAndSubCategories = await CategoriesDal.GetAllCategoriesAndSubCategoriesAsync(); }
public static void Menu() { int id = Login(); //int id = 1; Console.WriteLine("Do you want to:\n 1-See all books \n " + "2-See your basket\n" + "3-Add a book to the basket\n" + "4-Go out\n"); var x = Console.ReadLine(); switch (x) { case "1": //можна побачити посортований за назвою список книг певної категорії,або знайти за назвою певну книгу CategoriesDal dal = new CategoriesDal(ConfigurationManager.ConnectionStrings["IMDB"].ConnectionString); Console.WriteLine("Please,choose a category"); foreach (var categories in dal.GetAllCategories()) { Console.WriteLine($"{categories.Category}"); } string c = Console.ReadLine(); string connStr = ConfigurationManager.ConnectionStrings["IMDB"].ConnectionString; BooksDal dal3 = new BooksDal(ConfigurationManager.ConnectionStrings["IMDB"].ConnectionString); foreach (var book in dal3.Sort(c)) { Console.WriteLine($"{book.Title}\t{book.Author}\t{book.Price}"); } Console.WriteLine("Do you want to find smth?yes/no"); string s = Console.ReadLine(); if (s == "yes") { Console.WriteLine("Write the title of the book:"); string ti = Console.ReadLine(); foreach (var book in dal3.Find(ti, c)) { Console.WriteLine($"{book.Title}\t{book.Author}\t{book.Price}"); } } Menu(); break; case "2": Customer.GetBasket(id); Console.WriteLine("Do you want to buy books from basket?yes/no"); string s1 = Console.ReadLine(); if (s1 == "yes") { Customer.UpdateStatus(id, 1); } Console.WriteLine("Do you want to order shipping?yes/no"); string s2 = Console.ReadLine(); if (s2 == "yes") { Customer.UpdateStatus(id, 2); } Menu(); break; case "3": BasketDal dal2 = new BasketDal(ConfigurationManager.ConnectionStrings["IMDB"].ConnectionString); Console.WriteLine("Write a name of the wished book"); string t = Console.ReadLine(); Console.WriteLine("Write necessary amount:"); int a = Convert.ToInt32(Console.ReadLine()); string connStr2 = ConfigurationManager.ConnectionStrings["IMDB"].ConnectionString; using (SqlConnection conn = new SqlConnection(connStr2)) using (SqlCommand comm = conn.CreateCommand()) { conn.Open(); comm.CommandText = $"select * from Books where Title = '{t}'"; SqlDataReader reader = comm.ExecuteReader(); BooksDTO Book = new BooksDTO(); while (reader.Read()) { Book.BookID = (int)reader["BookID"]; Book.Author = reader["Autor"].ToString(); Book.Price = (Decimal)reader["Price"]; } conn.Close(); BasketDTO m = new BasketDTO { Title = t, UserID = id, BookID = Book.BookID, StatusID = 3, Author = Book.Author, Price = Book.Price, Amount = a, Date = DateTime.Now }; m = dal2.CreateBasket(m); } Menu(); break; case "4": Console.WriteLine("Bye:("); Thread.Sleep(1000); System.Environment.Exit(20); break; } }
public void ExistCategoryWithName() { DalBase.CreateDb(); Assert.IsTrue(CategoriesDal.CategoryExistInBaseByName("Inne")); }