Exemple #1
0
        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);
        }
Exemple #4
0
 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ć
            });
        }
Exemple #6
0
        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ć
            });
        }
Exemple #9
0
        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);
        }
Exemple #11
0
        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());
        }
Exemple #13
0
 public void NotExistSubCategoryWithName()
 {
     DalBase.CreateDb();
     CategoriesDal.AddCategory(subCategory);
     Assert.IsFalse(CategoriesDal.CategoryExistInBaseByName(subCategory.Name + "NotExist"));
 }
Exemple #14
0
 public void ExistSubCategoryWithName()
 {
     DalBase.CreateDb();
     CategoriesDal.AddCategory(subCategory);
     Assert.IsTrue(CategoriesDal.CategoryExistInBaseByName(subCategory.Name));
 }
Exemple #15
0
 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;
            }
        }
Exemple #19
0
 public void ExistCategoryWithName()
 {
     DalBase.CreateDb();
     Assert.IsTrue(CategoriesDal.CategoryExistInBaseByName("Inne"));
 }