예제 #1
0
        private void SearchThroughDataGrid()
        {
            using (var context = new AutoServiceEntities())
            {
                switch (SearchComboBoxSelectedItem)
                {
                case "Номер заказа":
                    int orderID;
                    if (!int.TryParse(SearchText, out orderID) || orderID <= 0)
                    {
                        return;
                    }
                    _listOfOrders = context.WorksAutoOrder.Where(x => x.OrderID == orderID).ToList();
                    FillDataGrid();
                    break;

                case "Марка":
                    _listOfOrders = context.WorksAutoOrder.Where(x => x.CarBrand.Contains(SearchText)).ToList();
                    FillDataGrid();
                    break;

                case "Модель":
                    _listOfOrders = context.WorksAutoOrder.Where(x => x.CarModel.Contains(SearchText)).ToList();
                    FillDataGrid();
                    break;

                case "Наименование работ":
                    _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksName.Contains(SearchText)).ToList();
                    FillDataGrid();
                    break;
                }
            }
        }
예제 #2
0
        private void SwapFilterComboBoxes(string filterBy)
        {
            if (filterBy == "Модель" || filterBy == "Марка" || filterBy == "Тип трансмиссии")
            {
                NumericFilterComboBoxVisibility = Visibility.Hidden;
                NumericFilterTextBoxVisibility  = Visibility.Hidden;
                using (var context = new AutoServiceEntities())
                {
                    switch (filterBy)
                    {
                    case "Марка":
                        StringColumnFilterComboBoxItems = context.WorksAutoOrder.Select(x => x.CarBrand).Distinct().ToList();
                        break;

                    case "Модель":
                        StringColumnFilterComboBoxItems = context.WorksAutoOrder.Select(x => x.CarModel).Distinct().ToList();
                        break;

                    case "Тип трансмиссии":
                        StringColumnFilterComboBoxItems = context.WorksAutoOrder.Select(x => x.TransmissionType).Distinct().ToList();
                        break;
                    }
                }
            }
            else
            {
                NumericFilterComboBoxVisibility = Visibility.Visible;
                NumericFilterTextBoxVisibility  = Visibility.Visible;
            }
        }
예제 #3
0
        public ViewModel()
        {
            var context = new AutoServiceEntities();

            AutoServiceList = context.WorksAutoOrder.Select(x => x).ToList();
            ToolTipText     = "Text";
        }
예제 #4
0
        private void FillDataGrid()
        {
            using (var context = new AutoServiceEntities())
                if (_listOfOrders == null)
                {
                    _listOfOrders = context.WorksAutoOrder.Select(x => x).ToList();
                }
            if (_isSorted)
            {
                SortDataGrid();
            }
            var totalAmountOfRows = _listOfOrders.Count;

            _numberOfPages = totalAmountOfRows % _rowCount != 0
                ? totalAmountOfRows / _rowCount + 1
                : totalAmountOfRows / _rowCount;
            var ordersOnCurrentPage = totalAmountOfRows < _rowCount
                ? _listOfOrders.Skip(_currentPage *_rowCount)
                : _listOfOrders.Skip(_currentPage * _rowCount).Take(_rowCount);

            CustomerOrdersList = CustomerOrder.GetCustomerOrders(ordersOnCurrentPage);
            PageCountInfo      = "Страница " + (_currentPage + 1) + " из " + _numberOfPages;
        }
예제 #5
0
        //
        // GET: /Map/
        public ActionResult Index()
        {
            AutoServiceEntities GE = new AutoServiceEntities();

            return(View(GE.Services.ToList()));
        }
예제 #6
0
        protected void ShowDiagram(object statistic)
        {
            using (var context = new AutoServiceEntities())
            {
                switch (statistic.ToString())
                {
                case "Количество заказов по маркам авто":
                {
                    DiagramTitle = "Диаграмма количества заказов по маркам автомобилей";
                    var points          = new List <KeyValuePair <string, int> >();
                    var amountsByBrands =
                        context.WorksAutoOrder.GroupBy(x => x.CarBrand)
                        .Select(group => new { brand = group.Key, count = group.Count() });
                    foreach (var amountByBrand in amountsByBrands)
                    {
                        points.Add(new KeyValuePair <string, int>(amountByBrand.brand, amountByBrand.count));
                    }
                    ListOfPoints = points;
                    break;
                }

                case "Количество заказов по месяцам":
                {
                    DiagramTitle = "Диаграмма количества заказов в текущем году по месяцам";
                    var points          = new List <KeyValuePair <string, int> >();
                    var cultureInfo     = new CultureInfo("ru-ru");
                    var amountsByMonths =
                        context.WorksAutoOrder.Where(
                            x => DbFunctions.TruncateTime(x.WorksStart).Value.Year == DateTime.Now.Year)
                        .GroupBy(x => x.WorksStart.Month)
                        .Select(group => new { month = group.Key, count = group.Count() });
                    foreach (var amountByMonths in amountsByMonths)
                    {
                        points.Add(new KeyValuePair <string, int>(
                                       cultureInfo.DateTimeFormat.GetMonthName(amountByMonths.month),
                                       amountByMonths.count));
                    }
                    ListOfPoints = points;
                    break;
                }

                case "Количество заказов по ценовым категориям":
                {
                    DiagramTitle = "Диаграмма количества заказов в разных ценовых диапазонах";
                    var points        = new List <KeyValuePair <string, int> >();
                    var priceInterval = context.WorksAutoOrder.Select(x => x.WorksPrice).Max() / 10;
                    var leftBound     = 0;
                    var rightBound    = priceInterval;
                    for (var i = 0; i < 10; i++)
                    {
                        points.Add(new KeyValuePair <string, int>(
                                       leftBound + "-" + rightBound,
                                       context.WorksAutoOrder.Count(x => x.WorksPrice >= leftBound && x.WorksPrice < rightBound)));
                        leftBound  += priceInterval;
                        rightBound += priceInterval;
                    }
                    ListOfPoints = points;
                    break;
                }
                }
            }
        }
예제 #7
0
        private void FilterDataGrid()
        {
            if (ColumnFilterComboBoxSelectedItem == null)
            {
                return;
            }
            if (NumericFilterComboBoxVisibility == Visibility.Hidden)
            {
                if (StringColumnFilterComboBoxSelectedItem == null)
                {
                    return;
                }
                if (!_isFiltered)
                {
                    _currentPage          = 0;
                    _isSearchAccomplished = false;
                }
                using (var context = new AutoServiceEntities())
                {
                    switch (ColumnFilterComboBoxSelectedItem)
                    {
                    case "Марка":
                        _listOfOrders = context.WorksAutoOrder.Where(x => x.CarBrand == StringColumnFilterComboBoxSelectedItem).ToList();
                        FillDataGrid();
                        break;

                    case "Модель":
                        _listOfOrders = context.WorksAutoOrder.Where(x => x.CarModel == StringColumnFilterComboBoxSelectedItem).ToList();
                        FillDataGrid();
                        break;

                    case "Тип трансмиссии":
                        _listOfOrders = context.WorksAutoOrder.Where(x => x.TransmissionType == StringColumnFilterComboBoxSelectedItem).ToList();
                        FillDataGrid();
                        break;
                    }
                }
            }
            else
            {
                if (NumericColumnFilterComboBoxSelectedItem == null || FilterText == string.Empty)
                {
                    return;
                }
                if (ColumnFilterComboBoxSelectedItem == "Время начала" ||
                    ColumnFilterComboBoxSelectedItem == "Время окончания")
                {
                    DateTime date;
                    if (!DateTime.TryParse(FilterText, out date))
                    {
                        return;
                    }

                    if (!_isFiltered)
                    {
                        _currentPage          = 0;
                        _isSearchAccomplished = false;
                    }

                    if (ColumnFilterComboBoxSelectedItem == "Время начала")
                    {
                        using (var context = new AutoServiceEntities())
                        {
                            switch (NumericColumnFilterComboBoxSelectedItem)
                            {
                            case ">=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (x.WorksStart >= date)).ToList();
                                FillDataGrid();
                                break;

                            case "<=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (x.WorksStart <= date)).ToList();
                                FillDataGrid();
                                break;

                            case "=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => DbFunctions.TruncateTime(x.WorksStart) == date.Date).ToList();
                                FillDataGrid();
                                break;

                            case ">":
                                _listOfOrders = context.WorksAutoOrder.Where(x => DbFunctions.TruncateTime(x.WorksStart) > date.Date).ToList();
                                FillDataGrid();
                                break;

                            case "<":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (DbFunctions.TruncateTime(x.WorksStart) < date.Date)).ToList();
                                FillDataGrid();
                                break;
                            }
                        }
                        return;
                    }
                    else
                    {
                        using (var context = new AutoServiceEntities())
                        {
                            switch (NumericColumnFilterComboBoxSelectedItem)
                            {
                            case ">=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (x.WorksFinish >= date) || (x.WorksFinish == null)).ToList();
                                FillDataGrid();
                                break;

                            case "<=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (x.WorksFinish <= date)).ToList();
                                FillDataGrid();
                                break;

                            case "=":
                                _listOfOrders = context.WorksAutoOrder.Where(x => DbFunctions.TruncateTime(x.WorksFinish) == date.Date).ToList();
                                FillDataGrid();
                                break;

                            case ">":
                                _listOfOrders = context.WorksAutoOrder.Where(x =>
                                                                             (DbFunctions.TruncateTime(x.WorksFinish) > date.Date) ||
                                                                             (x.WorksFinish == null)).ToList();
                                FillDataGrid();
                                break;

                            case "<":
                                _listOfOrders = context.WorksAutoOrder.Where(x => (DbFunctions.TruncateTime(x.WorksFinish) < date.Date)).ToList();
                                FillDataGrid();
                                break;
                            }
                        }
                        return;
                    }
                }
                int value;
                if (!int.TryParse(FilterText, out value))
                {
                    return;
                }
                if (ColumnFilterComboBoxSelectedItem == "Мощность двигателя")
                {
                    if (!_isFiltered)
                    {
                        _currentPage          = 0;
                        _isSearchAccomplished = false;
                    }
                    using (var context = new AutoServiceEntities())
                    {
                        switch (NumericColumnFilterComboBoxSelectedItem)
                        {
                        case ">=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => (x.EnginePower >= value) || (x.EnginePower == null)).ToList();
                            FillDataGrid();
                            break;

                        case "<=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => (x.EnginePower <= value) || (x.EnginePower == null)).ToList();
                            FillDataGrid();
                            break;

                        case "=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.EnginePower == value).ToList();
                            FillDataGrid();
                            break;

                        case ">":
                            _listOfOrders = context.WorksAutoOrder.Where(x => (x.EnginePower > value) || (x.EnginePower == null)).ToList();
                            FillDataGrid();
                            break;

                        case "<":
                            _listOfOrders = context.WorksAutoOrder.Where(x => (x.EnginePower < value) || (x.EnginePower == null)).ToList();
                            FillDataGrid();
                            break;
                        }
                    }
                    return;
                }
                if (ColumnFilterComboBoxSelectedItem == "Год выпуска")
                {
                    if (value < 1930 || value > Convert.ToInt16(DateTime.Now.Date.Year))
                    {
                        return;
                    }
                    if (!_isFiltered)
                    {
                        _currentPage          = 0;
                        _isSearchAccomplished = false;
                    }
                    using (var context = new AutoServiceEntities())
                    {
                        switch (NumericColumnFilterComboBoxSelectedItem)
                        {
                        case ">=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.YearMade >= value).ToList();
                            FillDataGrid();
                            break;

                        case "<=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.YearMade <= value).ToList();
                            FillDataGrid();
                            break;

                        case "=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.YearMade == value).ToList();
                            FillDataGrid();
                            break;

                        case ">":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.YearMade > value).ToList();
                            FillDataGrid();
                            break;

                        case "<":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.YearMade < value).ToList();
                            FillDataGrid();
                            break;
                        }
                    }
                    return;
                }
                if (ColumnFilterComboBoxSelectedItem == "Цена")
                {
                    if (!_isFiltered)
                    {
                        _currentPage          = 0;
                        _isSearchAccomplished = false;
                    }
                    using (var context = new AutoServiceEntities())
                    {
                        switch (NumericColumnFilterComboBoxSelectedItem)
                        {
                        case ">=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksPrice >= value).ToList();
                            FillDataGrid();
                            break;

                        case "<=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksPrice <= value).ToList();
                            FillDataGrid();
                            break;

                        case "=":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksPrice == value).ToList();
                            FillDataGrid();
                            break;

                        case ">":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksPrice > value).ToList();
                            FillDataGrid();
                            break;

                        case "<":
                            _listOfOrders = context.WorksAutoOrder.Where(x => x.WorksPrice < value).ToList();
                            FillDataGrid();
                            break;
                        }
                    }
                }
            }
        }