Пример #1
0
 public SaleFixing(MainWindow main, List <PComboBox> lpc, List <BdProducts> bdp)
 {
     InitializeComponent();
     log                        = LogManager.GetCurrentClassLogger();
     list                       = lpc;
     _mainWnd                   = main;
     sales                      = new List <DGSaleItems>();
     salesToCheck               = new List <DGSaleItems>();
     Products.ItemsSource       = list;
     Products.SelectedValuePath = "ProductId";
     Products.DisplayMemberPath = "ProductName";
     try
     {
         using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
         {
             var services = db.services.ToList();
             Services.ItemsSource       = services;
             Services.SelectedValuePath = "ServiceId";
             Services.DisplayMemberPath = "ServiceName";
             var users = db.users.Where(w => w.Role == "manager" && w.UserId != 14).ToList();
             Manager.ItemsSource       = users;
             Manager.SelectedValuePath = "UserId";
             Manager.DisplayMemberPath = "UserName";
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message + " \n" + ex.StackTrace);
         MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
     }
 }
Пример #2
0
        private void SelectStorehouse_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb = sender as ComboBox;
            int id  = (int)cmb.SelectedValue;

            using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
                var list         = new List <StoreQuant>();
                var prodQuant    = db.productquantities.Where(w => w.StorehouseId == id).ToList();
                var dbProds      = db.products.ToList();
                var prodsInStore = dbProds.Where(w => prodQuant.Any(a => a.ProductId == w.ProductId))
                                   .GroupJoin(prodQuant, dp => dp.ProductId, pq => pq.ProductId, (dp, pq) => new StoreQuant()
                {
                    PSeason = dp.Season,
                    PQuant  = (int)pq.Sum(x => x.Quantity),
                })
                                   .GroupBy(g => g.PSeason)
                                   .ToDictionary(k => k.Key);
                foreach (var item in prodsInStore)
                {
                    StoreQuant sq = new StoreQuant();
                    sq.PSeason    = item.Key;
                    sq.TotalQuant = item.Value.Sum(s => s.PQuant);
                    list.Add(sq);
                    int point2 = 0;
                }
                int point = 0;
                //var prods =
                QuantityAtStore.ItemsSource = list;
            }
        }
        private void RadiusMove_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb = sender as ComboBox;

            try
            {
                string rad = (string)cmb.SelectedValue;
                prods = prods.Where(w => w.Radius == rad).ToList();
                if (prods.Count == 1)
                {
                    var product = prods[0];
                    using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                    {
                        var store       = db.storehouses.ToList();
                        var tmp         = db.productquantities.Where(w => w.ProductId == product.ProductId && w.Quantity > 0).ToList();
                        var storeTmp    = db.storehouses.ToList();
                        var storehouses = storeTmp.Where(w => tmp.Any(a => a.StorehouseId == w.StorehouseId)).ToList();
                        StorehouseFrom.ItemsSource       = storehouses;
                        StorehouseFrom.SelectedValuePath = "StorehouseId";
                        StorehouseFrom.DisplayMemberPath = "StorehouseName";
                        StorehouseFrom.IsEnabled         = true;
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #4
0
 private void LoginBtn_Click(object sender, RoutedEventArgs e)
 {
     if (Login.Text.Length > 0)
     {
         if (Password.Password.Length > 0)
         {
             var login = Login.Text;
             var pass  = Password.Password;
             try
             {
                 using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                 {
                     var user = db.users.ToList().Single(w => w.Login == login && w.Password == pass);
                     if (user != null)
                     {
                         _mainWnd.User = user;
                         _mainWnd.mainFrame.Navigate(new main(_mainWnd, user));
                     }
                 }
             }
             catch (Exception ex) {
                 log.Error(ex.Message + " \n" + ex.StackTrace);
                 MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
             }
         }
     }
 }
 private void StorehouseFrom_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         var    cmb      = sender as ComboBox;
         int    value    = (int)cmb.SelectedValue;
         int    category = (int)CategoriesMove.SelectedValue;
         int    ManId    = (int)ManufacturersMove.SelectedValue;
         int    modelId  = (int)ModelsMove.SelectedValue;
         string rad      = (string)RadiusMove.SelectedValue;
         int    width    = (int)WidthMove.SelectedValue;
         float  height   = (float)HeightMove.SelectedValue;
         using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
         {
             int prodId = GetProduct(category, ManId, modelId, rad, width, height).ProductId;
             QuantAtStore.Content = db.productquantities.Where(w => w.ProductId == prodId && w.StorehouseId == value).Select(s => s.Quantity.ToString()).First();
             var storehouses = db.storehouses.Where(w => w.StorehouseId != value).ToList();
             StorehouseTo.ItemsSource       = storehouses;
             StorehouseTo.SelectedValuePath = "StorehouseId";
             StorehouseTo.DisplayMemberPath = "StorehouseName";
             StorehouseTo.IsEnabled         = true;
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message + " \n" + ex.StackTrace);
         MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
     }
 }
        private void ModelsOff_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb = sender as ComboBox;

            try
            {
                int prodId = (int)cmb.SelectedValue;
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var tmp         = db.productquantities.Where(w => w.ProductId == prodId && w.Quantity > 0).ToList();
                    var storeTmp    = db.storehouses.ToList();
                    var storehouses = storeTmp.Where(w => tmp.Any(a => a.StorehouseId == w.StorehouseId)).ToList();
                    StorehouseOffFrom.ItemsSource       = storehouses;
                    StorehouseOffFrom.SelectedValuePath = "StorehouseId";
                    StorehouseOffFrom.DisplayMemberPath = "StorehouseName";
                    StorehouseOffFrom.IsEnabled         = true;
                    ProductOffPrice.Text = db.products.Where(w => w.ProductId == prodId).Select(s => s.Price.ToString()).First();
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #7
0
        private void LoadOrderList()
        {
            List <OrderList> lst = new List <OrderList>();

            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var orders = db.Orders.ToList();
                    foreach (var order in orders)
                    {
                        var       user = db.users.Single(s => s.UserId == order.MengerId);
                        OrderList item = new OrderList()
                        {
                            OrderId       = order.OrderID,
                            OrderCustomer = order.OrderCustomer,
                            OrderNumber   = order.OrderNumber,
                            PhoneCustomer = order.PhoneCustomer,
                            Quantity      = order.ProductQuant,
                            ProdName      = list.Where(w => w.ProductId == order.ProductId).Select(s => s.ProductName).First(),
                            Storehouse    = db.storehouses.Where(w => w.StorehouseId == order.StorehouseId).Select(s => s.StorehouseName).First(),
                            UserName      = user.UserName,
                            UserRole      = user.Role
                        };
                        lst.Add(item);
                    }
                }
                Orders.ItemsSource = lst;
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
 private void ModelsMove_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         int    category = (int)CategoriesMove.SelectedValue;
         int    ManId    = (int)ManufacturersMove.SelectedValue;
         var    cmb      = sender as ComboBox;
         int    modelId  = (int)cmb.SelectedValue;
         string modelTxt = cmb.Text;
         using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
         {
             //string manufacturer = db.manufacturers.Where(w => w.ManufacturerId == ManId).Select(s => s.ManufacturerName).First();
             //var products = db.products.ToList();
             var models   = db.models.Where(w => w.CategoryId == category && w.ManufacturerId == ManId).ToList();
             var radiuses = _mainList.Where(w => w.ModelId == modelId).Select(s => s.Radius).Distinct().ToList();
             var widths   = _mainList.Where(w => w.ModelId == modelId).Select(s => s.Width).Distinct().ToList();
             var heights  = _mainList.Where(w => w.ModelId == modelId).Select(s => s.Height).Distinct().ToList();
             RadiusMove.ItemsSource = radiuses;
             WidthMove.ItemsSource  = widths;
             HeightMove.ItemsSource = heights;
             prods = prods.Where(w => w.ModelId == modelId).ToList();
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message + " \n" + ex.StackTrace);
         MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
     }
 }
Пример #9
0
        private void Products_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var Cmb = sender as ComboBox;

            try
            {
                int     prodId    = (int)Cmb.SelectedValue;
                decimal prodPrice = 0;
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    prodPrice = (decimal)_MainList.Where(w => w.ProductId == prodId).Select(s => s.Price).FirstOrDefault();
                    var storehouses = db.productquantities.Where(w => w.ProductId == prodId && w.Quantity > 0).Join(db.storehouses, pq => pq.StorehouseId, s => s.StorehouseId, (pq, s) => new { StoreHouseId = pq.StorehouseId, StoreHouseName = s.StorehouseName }).ToList();
                    Storehouse.ItemsSource       = storehouses;
                    Storehouse.SelectedValuePath = "StoreHouseId";
                    Storehouse.DisplayMemberPath = "StoreHouseName";
                    Storehouse.IsEnabled         = true;
                }
                ProductPrice.Text = prodPrice.ToString();
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #10
0
        private product GetProduct(int category, int ManId, int modelId, string rad, int width, float height)
        {
            var     watch   = System.Diagnostics.Stopwatch.StartNew();
            product product = new product();

            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    product = db.products.Single(s => s.CategoryId == category && s.ManufacturerId == ManId && s.ModelId == modelId && s.Radius == rad && s.Width == width && s.Height == height);
                    watch.Stop();
                    var     elapsedMs = watch.ElapsedMilliseconds;
                    decimal minutes   = (decimal)elapsedMs / (1000 * 60);
                    decimal sec       = (decimal)elapsedMs / 1000;
                    //#endif
                    var specifier = "G";
                    var culture   = CultureInfo.CreateSpecificCulture("ru-RU");
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                log.Trace(category + "/" + ManId + "/" + modelId + "/" + rad + "/" + width + "/" + height);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
            return(product);
        }
Пример #11
0
        private void LoadControls()
        {
            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var categories = db.categories.ToList();
                    Categories.ItemsSource       = categories;
                    Categories.SelectedValuePath = "CategoryId";
                    Categories.DisplayMemberPath = "CategoryName";

                    CategoriesMove.ItemsSource       = categories;
                    CategoriesMove.SelectedValuePath = "CategoryId";
                    CategoriesMove.DisplayMemberPath = "CategoryName";

                    CategoriesOff.ItemsSource       = categories;
                    CategoriesOff.SelectedValuePath = "CategoryId";
                    CategoriesOff.DisplayMemberPath = "CategoryName";
                    //Categories.SelectedValue = 1;
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #12
0
        private void Categories_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();
            var cmb   = sender as ComboBox;

            try
            {
                int category = (int)cmb.SelectedValue;
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var manufacturers = db.manufacturers.Where(w => w.CategoryId == category).ToList();
                    Manufacturers.ItemsSource       = manufacturers;
                    Manufacturers.SelectedValuePath = "ManufacturerId";
                    Manufacturers.DisplayMemberPath = "ManufacturerName";
                    Manufacturers.IsEnabled         = true;
                    var     elapsedMs = watch.ElapsedMilliseconds;
                    decimal minutes   = (decimal)elapsedMs / (1000 * 60);
                    decimal sec       = (decimal)elapsedMs / 1000;
                    //#endif
                    var specifier = "G";
                    var culture   = CultureInfo.CreateSpecificCulture("ru-RU");
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #13
0
 private void LoadSelectStore()
 {
     using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
         var stores = db.storehouses.ToList();
         SelectStorehouse.ItemsSource       = stores;
         SelectStorehouse.SelectedValuePath = "StorehouseId";
         SelectStorehouse.DisplayMemberPath = "StorehouseName";
     }
 }
Пример #14
0
        private void Products_KeyUp(object sender, KeyEventArgs e)
        {
            var            Cmb = sender as ComboBox;
            CollectionView itemsViewOriginal = (CollectionView)CollectionViewSource.GetDefaultView(Cmb.ItemsSource);

            itemsViewOriginal.Filter = ((o) =>
            {
                if (String.IsNullOrEmpty(Cmb.Text))
                {
                    return(true);
                }
                else
                {
                    var obj = o as PComboBox;
                    string filter_param = Cmb.Text;
                    if ((obj.ProductName).Contains(Cmb.Text))
                    {
                        Cmb.IsDropDownOpen = true;
                        if (Key.Enter == e.Key)
                        {
                            int prodId = (int)Cmb.SelectedValue;
                            decimal prodPrice = 0;
                            try
                            {
                                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                                {
                                    prodPrice = (decimal)db.products.Where(w => w.ProductId == prodId).Select(s => s.Price).FirstOrDefault();
                                    var storehouses = db.productquantities.Where(w => w.ProductId == prodId && w.Quantity > 0).Join(db.storehouses, pq => pq.StorehouseId, s => s.StorehouseId, (pq, s) => new { StoreHouseId = pq.StorehouseId, StoreHouseName = s.StorehouseName }).ToList();
                                    StorehouseFrom.ItemsSource = storehouses;
                                    StorehouseFrom.SelectedValuePath = "StoreHouseId";
                                    StorehouseFrom.DisplayMemberPath = "StoreHouseName";
                                }
                            }
                            catch (Exception ex)
                            {
                                log.Error(ex.Message + " \n" + ex.StackTrace);
                                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
                            }
                            ProductPrice.Text = prodPrice.ToString();
                        }
                        //TextBox TxtBox = (TextBox)Cmb.Template.FindName("PART_EditableTextBox", Cmb);
                        //TxtBox.SelectionLength = filter_param.Length;
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            });
            itemsViewOriginal.Refresh();
        }
Пример #15
0
        private void MoveProduct(int category, int ManId, int quantMove, int storeFrom, int storeTo, int modelId, string rad, int width, float height, int quantFrom)
        {
            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var diff = quantFrom - quantMove;
                    if (diff >= 0)
                    {
                        var product = GetProduct(category, ManId, modelId, rad, width, height);
                        if (db.productquantities.Any(s => s.StorehouseId == storeTo && s.ProductId == product.ProductId))
                        {
                            var storehouseTo = db.productquantities.Single(s => s.StorehouseId == storeTo && s.ProductId == product.ProductId);
                            storehouseTo.Quantity += quantMove;
                            db.Entry(storehouseTo).Property(p => p.Quantity).IsModified = true;
                            var storehouseFrom = db.productquantities.Single(s => s.ProductId == product.ProductId && s.StorehouseId == storeFrom);
                            storehouseFrom.Quantity -= quantMove;
                            db.Entry(storehouseFrom).Property(p => p.Quantity).IsModified = true;
                            db.SaveChanges();

                            MessageBox.Show("Товар успешно перенесен на указанный склад!", "Информация", MessageBoxButton.OK);
                        }
                        else
                        {
                            productquantity pq = new productquantity()
                            {
                                StorehouseId = storeTo,
                                ProductId    = product.ProductId,
                                Quantity     = quantMove
                            };
                            db.productquantities.Add(pq);
                            var storehouseFrom = db.productquantities.Single(s => s.ProductId == product.ProductId && s.StorehouseId == storeFrom);
                            storehouseFrom.Quantity -= quantMove;
                            db.Entry(storehouseFrom).Property(p => p.Quantity).IsModified = true;
                            db.SaveChanges();
                            // GridItemSource(category, product.ProductId);
                            MessageBox.Show("Товар успешно перенесен на указанный склад!", "Информация", MessageBoxButton.OK);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Невозможно перенести указанный товар со склада, введено неверное количество!", "Информация", MessageBoxButton.OK);
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #16
0
        private void SelectedUser_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb = sender as ComboBox;

            try {
                int userId = (int)cmb.SelectedValue;
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
                    var user = db.users.Find(userId);
                    LoginEdit.Text         = user.Login;
                    PasswordNow.Text       = user.Password;
                    PasswordNew.Text       = user.Password;
                    RoleEdit.SelectedValue = user.Role;
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #17
0
        private void ManagerCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb  = sender as ComboBox;
            var sNum = (long)cmb.Tag;

            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
                    var operations = db.operations.Where(w => w.SaleNumber == sNum).ToList();
                    foreach (var oper in operations)
                    {
                        oper.UserId = (int)cmb.SelectedValue;
                        db.Entry(oper).Property(x => x.UserId).IsModified = true;
                        db.SaveChanges();
                    }
                }
            }
            catch (Exception ex) {
                int point = 0;
            }
        }
Пример #18
0
        private void AddServiceBtn_Click(object sender, RoutedEventArgs e)
        {
            string name = ServiceName.Text;

            if (name != string.Empty)
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    service newMan = new service()
                    {
                        ServiceName = name
                    };
                    db.services.Add(newMan);
                    db.SaveChanges();
                    MessageBox.Show("Услуга успешно добавлена!", "Информация", MessageBoxButton.OK);
                }
            }
            else
            {
                MessageBox.Show("Введите наименование услуги!", "Информация", MessageBoxButton.OK);
            }
        }
Пример #19
0
        private void CategoriesOff_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var cmb = sender as ComboBox;

            try
            {
                int category = (int)cmb.SelectedValue;
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    var manufacturers = db.manufacturers.Where(w => w.CategoryId == category).ToList();
                    ManufacturersOff.ItemsSource       = manufacturers;
                    ManufacturersOff.SelectedValuePath = "ManufacturerId";
                    ManufacturersOff.DisplayMemberPath = "ManufacturerName";
                    ManufacturersOff.IsEnabled         = true;
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #20
0
 private void FillLoadControls()
 {
     try {
         using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
             var users = db.users.ToList();
             Users.ItemsSource              = users;
             SelectedUser.ItemsSource       = users;
             SelectedUser.SelectedValuePath = "UserId";
             SelectedUser.DisplayMemberPath = "UserName";
             var roles = new List <string>()
             {
                 "admin", "manager", "cashier", "buyer"
             };
             Role.ItemsSource     = roles;
             RoleEdit.ItemsSource = roles;
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message + " \n" + ex.StackTrace);
         MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
     }
 }
Пример #21
0
 private void ManufacturersMove_SelectionChanged_1(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         int category = (int)CategoriesMove.SelectedValue;
         int ManId    = (int)ManufacturersMove.SelectedValue;
         using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
         {
             var models = db.models.Where(w => w.CategoryId == category && w.ManufacturerId == ManId).ToList();
             //string manufacturer = db.manufacturers.Where(w=>w.ManufacturerId==ManId).Select(s=>s.ManufacturerName).First();
             prods = db.products.Where(w => w.ManufacturerId == ManId).ToList();
             ModelsMove.ItemsSource       = models;
             ModelsMove.SelectedValuePath = "ModelId";
             ModelsMove.DisplayMemberPath = "ModelName";
             ModelsMove.IsEnabled         = true;
         }
     }
     catch (Exception ex)
     {
         log.Error(ex.Message + " \n" + ex.StackTrace);
         MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
     }
 }
Пример #22
0
        private void GridItemSource(int category, int prodId)
        {
            var watch = System.Diagnostics.Stopwatch.StartNew();

            try
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    List <GridCapitalize> lst = new List <GridCapitalize>();
                    var product   = _mainList.Single(w => w.CategoryId == category && w.ProductId == prodId);
                    var prodQuant = db.productquantities.Where(w => w.ProductId == product.ProductId).ToList();
                    foreach (var pq in prodQuant)
                    {
                        GridCapitalize gc = new GridCapitalize()
                        {
                            ProdName       = list.Single(s => s.ProductId == product.ProductId).ProductName,
                            StorehouseName = db.storehouses.Single(s => s.StorehouseId == pq.StorehouseId).StorehouseName,
                            TotalQuantity  = (int)pq.Quantity
                        };
                        lst.Add(gc);
                    }

                    var     elapsedMs = watch.ElapsedMilliseconds;
                    decimal minutes   = (decimal)elapsedMs / (1000 * 60);
                    decimal sec       = (decimal)elapsedMs / 1000;
                    //#endif
                    var specifier = "G";
                    var culture   = CultureInfo.CreateSpecificCulture("ru-RU");
                    Quantities.ItemsSource = lst;
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #23
0
 private void DelUser_Click(object sender, RoutedEventArgs e)
 {
     if (SelectedUser.SelectedValue != null)
     {
         int userId = (int)SelectedUser.SelectedValue;
         var res    = MessageBox.Show("Вы действительно хотите полностью удалить этого пользователя? Действие необратимо.", "Информация", MessageBoxButton.OKCancel);
         if (res == MessageBoxResult.OK)
         {
             try
             {
                 using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                 {
                     var user = db.users.Single(s => s.UserId == userId);
                     db.users.Remove(user);
                     db.SaveChanges();
                 }
             }
             catch (Exception ex)
             {
                 log.Error(ex.Message + " \n" + ex.StackTrace);
                 MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
             }
             SelectedUser.SelectionChanged -= SelectedUser_SelectionChanged;
             SelectedUser.Text              = "";
             SelectedUser.SelectedValue     = -1;
             SelectedUser.SelectionChanged += SelectedUser_SelectionChanged;
             LoginEdit.Text   = "";
             PasswordNow.Text = "";
             PasswordNew.Text = "";
             RoleEdit.Text    = "";
         }
         MessageBox.Show("Пользователь успешно удален", "Информация", MessageBoxButton.OK);
         Thread.Sleep(1000);
         FillLoadControls();
     }
 }
Пример #24
0
        private void AddStorehouse_Click(object sender, RoutedEventArgs e)
        {
            string name    = StorehouseName.Text;
            string address = Address.Text;

            if (name != string.Empty && address != string.Empty)
            {
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
                    storehouse sh = new storehouse()
                    {
                        StorehouseName = name,
                        Address        = address
                    };
                    db.storehouses.Add(sh);
                    db.SaveChanges();
                    MessageBox.Show("Склад успешно добавлен!", "Информация", MessageBoxButton.OK);
                }
            }
            else
            {
                MessageBox.Show("Не заполнено название или адрес нового склада!", "Информация", MessageBoxButton.OK);
            }
            LoadSelectStore();
        }
Пример #25
0
        private void AddUser_Click(object sender, RoutedEventArgs e)
        {
            bool   Flag = true;
            string userName = "", login = "", pass = "", role = "";

            try {
                if (UserName.Text != string.Empty)
                {
                    userName = UserName.Text;
                }
                else
                {
                    Flag = false;
                }
                if (Login.Text != string.Empty)
                {
                    login = Login.Text;
                }
                else
                {
                    Flag = false;
                }
                if (Password.Text != string.Empty && PasswordRep.Text != string.Empty && Password.Text == PasswordRep.Text)
                {
                    pass = Password.Text;
                }
                else
                {
                    Flag = false;
                }
                if (Role.SelectedValue != null)
                {
                    role = (string)Role.SelectedValue;
                }
                else
                {
                    Flag = false;
                }
                if (Flag)
                {
                    try {
                        using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities()) {
                            if (!db.users.Any(a => a.Login == login && a.Password == pass))
                            {
                                var newUser = new user()
                                {
                                    UserName = userName,
                                    Login    = login,
                                    Password = pass,
                                    Role     = role
                                };
                                db.users.Add(newUser);
                                db.SaveChanges();
                                MessageBox.Show("Пользователь успешно добавлен", "Информация", MessageBoxButton.OK);
                                Thread.Sleep(1000);
                                FillLoadControls();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        log.Error(ex.Message + " \n" + ex.StackTrace);
                        MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
                    }
                    UserName.Text    = "";
                    Login.Text       = "";
                    Password.Text    = "";
                    PasswordRep.Text = "";
                    Role.Text        = "";
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #26
0
        private void EditUser_Click(object sender, RoutedEventArgs e)
        {
            bool Flag = false;

            if (SelectedUser.SelectedValue != null)
            {
                int userId = (int)SelectedUser.SelectedValue;
                try
                {
                    using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                    {
                        var user = db.users.Single(s => s.UserId == userId);

                        if (LoginEdit.Text != user.Login)
                        {
                            user.Login = LoginEdit.Text;
                            db.Entry(user).Property(p => p.Login).IsModified = true;
                            Flag = true;
                        }

                        if (PasswordNow.Text == user.Password && PasswordNew.Text != user.Password && PasswordNew.Text != string.Empty)
                        {
                            user.Password = PasswordNew.Text;
                            db.Entry(user).Property(p => p.Password).IsModified = true;
                            Flag = true;
                        }
                        else
                        {
                            MessageBox.Show("Вы выбрали небезопасный пароль, или не ввели его", "Информация", MessageBoxButton.OK);
                        }
                        if (RoleEdit.SelectedValue != null)
                        {
                            user.Role = (string)RoleEdit.SelectedValue;
                            db.Entry(user).Property(p => p.Role).IsModified = true;
                            Flag = true;
                        }
                        if (Flag)
                        {
                            bool flag = true;
                            try
                            {
                                db.SaveChanges();
                            }
                            catch (Exception ex)
                            {
                                log.Error(ex.Message + " \n" + ex.StackTrace);
                                flag = false;
                                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
                            }
                            if (flag)
                            {
                                SelectedUser.SelectionChanged -= SelectedUser_SelectionChanged;
                                SelectedUser.Text              = "";
                                SelectedUser.SelectedValue     = -1;
                                SelectedUser.SelectionChanged += SelectedUser_SelectionChanged;
                                LoginEdit.Text   = "";
                                PasswordNow.Text = "";
                                PasswordNew.Text = "";
                                RoleEdit.Text    = "";
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error(ex.Message + " \n" + ex.StackTrace);
                    MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
                }
                MessageBox.Show("Пользователь успешно отредактирован", "Информация", MessageBoxButton.OK);
                Thread.Sleep(1000);
                FillLoadControls();
            }
        }
Пример #27
0
        private void DelOrder_Click(object sender, RoutedEventArgs e)
        {
            var btn = sender as Button;

            try
            {
                if (long.TryParse(btn.Uid, out var tmp))
                {
                    long ordId  = long.Parse(btn.Uid);
                    long ordNum = (long)btn.Tag;
                    using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                    {
                        var order = db.Orders.Single(s => s.OrderID == ordId && s.OrderNumber == ordNum);
                        int quant = order.ProductQuant;
                        db.Orders.Remove(order);
                        var prodQuant = db.productquantities.Single(s => s.ProductId == order.ProductId && s.StorehouseId == order.StorehouseId);
                        prodQuant.InOrder -= quant;
                        db.Entry(prodQuant).Property(p => p.InOrder).IsModified = true;
                        var prodsQ = db.productquantities.Where(w => w.ProductId == order.ProductId).ToList();
                        foreach (var innerItem in prodsQ)
                        {
                            quant -= (int)innerItem.Quantity;
                        }
                        var product = db.products.Single(s => s.ProductId == order.ProductId);
                        if (quant > 0)
                        {
                            product.ProdStatus = true;
                        }
                        else
                        {
                            product.ProdStatus = false;
                        }
                        db.Entry(product).Property(p => p.ProdStatus).IsModified = true;
                        db.SaveChanges();
                        MessageBox.Show("Бронь успешно удалена!", "Информация", MessageBoxButton.OK);
                        using (u0324292_mainEntities db2 = new u0324292_mainEntities())
                        {
                            var prod = db.products.Single(s => s.ProductId == order.ProductId);
                            var id   = uint.Parse(prod.ProdNumber);
                            if (db2.shop_product.Any(a => a.product_id == id))
                            {
                                var siteProd = db2.shop_product.Single(a => a.product_id == id);
                                siteProd.quantity += quant;
                                db2.Entry(siteProd).Property(p => p.quantity).IsModified = true;
                                if (siteProd.quantity >= 0)
                                {
                                    db2.SaveChanges();
                                }
                                if (siteProd.quantity >= 0 && siteProd.stock_status_id == 8)
                                {
                                    siteProd.stock_status_id = 7;
                                    db2.Entry(siteProd).Property(p => p.stock_status_id).IsModified = true;
                                    db2.SaveChangesAsync();
                                }
                            }
                        }
                        LoadOrderList();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #28
0
        private void AddOrder_Click(object sender, RoutedEventArgs e)
        {
            bool flag = false;

            try
            {
                if (Products.SelectedValue != null)
                {
                    flag = true;
                    int    quant = 0, storeId = 0;
                    string customerName  = Customer.Text;
                    string customerPhone = Phone.Text;
                    int    prodId        = (int)Products.SelectedValue;
                    if (int.TryParse(OrderQuant.Text, out var tmp))
                    {
                        quant = int.Parse(OrderQuant.Text);
                    }
                    else
                    {
                        flag = false;
                    }
                    if (Storehouse.SelectedValue != null)
                    {
                        storeId = (int)Storehouse.SelectedValue;
                    }
                    else
                    {
                        flag = false;
                    }
                    if (flag == true)
                    {
                        using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                        {
                            var prodQuant = db.productquantities.Single(s => s.ProductId == prodId && s.StorehouseId == storeId);
                            var diff      = prodQuant.Quantity - quant;
                            if (diff >= 0)
                            {
                                var  sNum   = db.Orders.ToList();
                                long number = 0;
                                if (sNum.Count == 0)
                                {
                                    number = 1;
                                }
                                else
                                {
                                    number = (long)sNum[sNum.Count - 1].OrderNumber + 1;
                                }
                                Order newOrd = new Order()
                                {
                                    OrderNumber   = number,
                                    OrderCustomer = customerName,
                                    PhoneCustomer = customerPhone,
                                    ProductId     = prodId,
                                    ProductQuant  = quant,
                                    StorehouseId  = storeId,
                                    MengerId      = _user.UserId
                                };
                                db.Orders.Add(newOrd);
                                if (prodQuant.InOrder != null)
                                {
                                    prodQuant.InOrder += quant;
                                }
                                else
                                {
                                    prodQuant.InOrder = quant;
                                }
                                db.Entry(prodQuant).Property(p => p.InOrder).IsModified = true;
                                var prodsQ = db.productquantities.Where(w => w.ProductId == prodId).ToList();
                                foreach (var innerItem in prodsQ)
                                {
                                    quant += (int)innerItem.Quantity;
                                }
                                var product = db.products.Single(s => s.ProductId == prodId);
                                if (quant > 0)
                                {
                                    product.ProdStatus = true;
                                }
                                else
                                {
                                    product.ProdStatus = false;
                                }
                                db.Entry(product).Property(p => p.ProdStatus).IsModified = true;
                                db.SaveChanges();
                                using (u0324292_mainEntities db2 = new u0324292_mainEntities())
                                {
                                    var prod = db.products.Single(s => s.ProductId == prodId);
                                    var id   = uint.Parse(prod.ProdNumber);
                                    if (db2.shop_product.Any(a => a.product_id == id))
                                    {
                                        var siteProd = db2.shop_product.Single(a => a.product_id == id);
                                        siteProd.quantity -= quant;
                                        db2.Entry(siteProd).Property(p => p.quantity).IsModified = true;
                                        if (siteProd.quantity >= 0)
                                        {
                                            db2.SaveChanges();
                                        }
                                        else
                                        {
                                            log.Error(siteProd.model + siteProd.quantity + siteProd.product_id + " количество не может быть отрицательным");
                                        }
                                        if (siteProd.quantity == 0 && siteProd.stock_status_id == 7)
                                        {
                                            siteProd.stock_status_id = 8;
                                            db2.Entry(siteProd).Property(p => p.stock_status_id).IsModified = true;
                                            db2.SaveChangesAsync();
                                        }
                                    }
                                }
                            }
                            else
                            {
                                MessageBox.Show("На выбранном складе недостаточное количество товара для осуществления брони!", "Информация", MessageBoxButton.OK);
                            }
                        }
                        LoadOrderList();
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + " \n" + ex.StackTrace);
                MessageBox.Show("Кажется, что-то пошло не так...", "Информация", MessageBoxButton.OK);
            }
        }
Пример #29
0
 private void GetGrid(DateTime today, List <PComboBox> list, string msg)
 {
     using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
     {
         try
         {
             var operations = db.operations.Where(w => w.OperationDate == today).ToList();
             users = db.users.Where(w => w.Role == "manager").ToList();
             //Report.Columns[]
             decimal totalSum = 0;
             foreach (var oper in operations)
             {
                 string uName = "";
                 if (users.Exists(e => e.UserId == oper.UserId))
                 {
                     uName = users.Single(s => s.UserId == oper.UserId).UserName;
                 }
                 else
                 {
                     uName = users.Single(s => s.UserId == 14).UserName;
                 }
                 DelSaleButtonTag tag = new DelSaleButtonTag();
                 if (oper.ProductId != null)
                 {
                     tag.ServId     = null;
                     tag.ProdId     = oper.ProductId;
                     tag.AnotherId  = null;
                     tag.SaleNumber = (long)oper.SaleNumber;
                 }
                 if (oper.ServiceId != null)
                 {
                     tag.ServId     = oper.ServiceId;
                     tag.ProdId     = null;
                     tag.AnotherId  = null;
                     tag.SaleNumber = (long)oper.SaleNumber;
                 }
                 DGSaleItems dg = new DGSaleItems();
                 dg.Comment       = oper.Comment;
                 dg.Date          = oper.OperationDate.ToString();
                 dg.OperationType = oper.OperationType;
                 dg.PayType       = oper.PayType;
                 dg.Price         = oper.Price;
                 if (oper.ProductId != null && oper.ProductId != 0)
                 {
                     dg.ProdName = list.Where(w => w.ProductId == oper.ProductId).Select(s => s.ProductName).First();
                 }
                 else if (oper.ServiceId != null)
                 {
                     dg.ProdName = db.services.Where(w => w.ServiceId == oper.ServiceId).Select(s => s.ServiceName).First();
                 }
                 dg.Time           = oper.OperationTime.ToString();
                 dg.Price          = oper.Price;
                 dg.Quantity       = oper.Count;
                 dg.StoreHouse     = oper.Storehouse;
                 dg.SaleNumber     = (long)oper.SaleNumber;
                 dg.CardToTotalSum = oper.CardToTotalSum;
                 dg.TagToBtn       = tag;
                 dg.ProductId      = oper.ProductId;
                 dg.ServiceId      = oper.ServiceId;
                 if (oper.PayType == "Наличный расчет" && oper.OperationType != "Списание наличных")
                 {
                     if (oper.CardPay == "Да")
                     {
                         if (oper.CardToTotalSum != 0)
                         {
                             totalSum += oper.Price;
                         }
                     }
                     else
                     {
                         totalSum += oper.Price;
                     }
                 }
                 if (oper.OperationType == "Списание наличных")
                 {
                     totalSum -= oper.Price;
                 }
                 dg.UserName = uName;
                 dg.User     = users;
                 lst.Add(dg);
             }
             lst.Add(new DGSaleItems()
             {
                 ProdName = "Сдача наличных", Price = totalSum
             });
             Report.ItemsSource = lst;
             Report.Items.Refresh();
         }
         catch (Exception ex)
         {
             MessageBox.Show(msg, "Информация", MessageBoxButton.OK);
         }
     }
 }
Пример #30
0
        private void PrintSale_Click(object sender, RoutedEventArgs e)
        {
            var btn             = sender as Button;
            DelSaleButtonTag dt = btn.Tag as DelSaleButtonTag;

            try {
                string           saleNumber   = "";
                string           saleDate     = "";
                string           productPrice = "";
                List <operation> saleNumbers  = new List <operation>();
                var tmp = lst.Where(w => w.SaleNumber == dt.SaleNumber).ToList();
                List <DGSaleItems> sales = new List <DGSaleItems>();
                foreach (var t in tmp)
                {
                    if (!sales.Any(a => a.ProductId == t.ProductId))
                    {
                        sales.Add(t);
                    }
                    else
                    {
                        var sale = sales.Single(w => w.ProductId == t.ProductId);
                        sale.Quantity += t.Quantity;
                        sale.Price    += t.Price;
                    }
                }
                using (u0324292_tyreshopEntities db = new u0324292_tyreshopEntities())
                {
                    saleNumbers = db.operations.Where(w => w.SaleNumber == dt.SaleNumber).ToList();
                    saleNumber  = dt.SaleNumber.ToString();
                    saleDate    = saleNumbers[0].OperationDate.ToString("m", CultureInfo.CurrentUICulture) + " " + saleNumbers[0].OperationDate.ToString("yyyy");
                    var pId = saleNumbers[0].ProductId;
                    productPrice = db.products.Where(w => w.ProductId == pId).Select(s => s.Price).FirstOrDefault().ToString();
                }
                string header = @"Продавец: ИП Разуменко Анна Игоревна
ИНН: 390103431861
Расч.счет: 40802810500000463519
Банк: АО «Тинькофф Банк» Москва, 123060, 1-й Волоколамский проезд, д. 10, стр. 1
БИК:    044525974     Корр.счет:  30101810145250000974 
Адрес продавца: Санкт - Петербург ул.Калинина 5 " + "\"TireShop - новые шины по самым низким ценам\"" +
                                "\n Тел.8 - 965 - 818 - 84 - 46 сайт: EUROKOLESO.RU";
                Workbook  wb    = new Workbook();
                Worksheet sheet = wb.Worksheets[0];
                sheet.SetColumnWidth(1, 2);    //a
                sheet.SetColumnWidth(2, 0.5);  //b
                sheet.SetColumnWidth(3, 7.5);  //c
                sheet.SetColumnWidth(4, 21.3); //d
                sheet.SetColumnWidth(5, 8.1);  //e
                sheet.SetColumnWidth(6, 7.3);  //f
                sheet.SetColumnWidth(7, 1.6);  //g
                sheet.SetColumnWidth(8, 2.8);  //h
                sheet.SetColumnWidth(9, 5.3);  //i
                sheet.SetColumnWidth(10, 5.6); //j
                sheet.SetColumnWidth(11, 2);   //k
                sheet.SetColumnWidth(12, 1.3); //l
                sheet.SetColumnWidth(13, 5.6); //m
                sheet.SetColumnWidth(14, 2.9); //n
                sheet.SetColumnWidth(15, 2.6); //o
                sheet.SetColumnWidth(16, 0.7); //p
                sheet.SetColumnWidth(17, 1);   //r
                sheet.Range["A1:R8"].Merge();
                sheet.Range["A1"].Text = header;
                sheet.Range["C9:G9"].Merge();
                sheet.Range["C9"].Text = "Товарный чек № " + saleNumber + " от ";
                sheet.Range["H9:M9"].Merge();
                sheet.Range["H9"].Text = saleDate;
                sheet.Range["A11:B11"].Merge();
                sheet.Range["A11"].Text = "№";
                sheet.Range["A11:M11"].BorderInside();
                sheet.Range["A11:M11"].BorderAround();
                sheet.Range["A11"].Style.Color = System.Drawing.Color.LightGray;
                sheet.Range["C11:F11"].Merge();
                sheet.Range["C11"].Text = "Наименование товара";
                //sheet.Range["C11"].BorderInside();
                sheet.Range["C11"].Style.Color = System.Drawing.Color.LightGray;
                sheet.Range["G11:I11"].Merge();
                sheet.Range["G11:I11"].Style.Color = System.Drawing.Color.LightGray;
                sheet.Range["G11"].Text            = "Кол-во";
                //sheet.Range["I11"].BorderInside();
                sheet.Range["I11"].Style.Color = System.Drawing.Color.LightGray;
                sheet.Range["J11:L11"].Merge();
                sheet.Range["J11"].Text = "Цена";
                //sheet.Range["J11"].BorderInside();
                sheet.Range["J11"].Style.Color = System.Drawing.Color.LightGray;
                sheet.Range["M11:R11"].Merge();
                sheet.Range["M11"].Text = "Сумма";
                sheet.Range["M11:R11"].BorderAround();
                sheet.Range["M11"].Style.Color = System.Drawing.Color.LightGray;

                int     counter  = 12;
                decimal totalSum = 0;
                for (int i = 0; i < sales.Count; i++)
                {
                    var item = sales[i];
                    sheet.Range["A" + counter + ":B" + counter].Merge();
                    sheet.Range["A" + counter].Text = item.SaleNumber.ToString();
                    sheet.Range["C" + counter + ":F" + counter].Merge();
                    sheet.Range["C" + counter].Text = item.ProdName;
                    sheet.Range["G" + counter + ":I" + counter].Merge();
                    sheet.Range["G" + counter].Text = item.Quantity.ToString();
                    sheet.Range["J" + counter + ":L" + counter].Merge();
                    if (item.ServiceId == 0)
                    {
                        wb.Worksheets[0].Range["J" + counter].Text = productPrice;
                    }
                    else
                    {
                        //var totalPrice = item.Price * item.Quantity;
                        sheet.Range["J" + counter].Text = ((decimal)(item.Price / item.Quantity)).ToString();
                    }
                    sheet.Range["M" + counter + ":R" + counter].Merge();
                    sheet.Range["M" + counter].Text = item.Price.ToString() + " руб.";
                    sheet.Range["A" + counter + ":R" + counter].BorderInside();
                    sheet.Range["A" + counter + ":R" + counter].BorderAround();
                    counter++;
                    totalSum += item.Price;
                }
                sheet.Range["A" + counter + ":H" + counter].Merge();
                sheet.Range["I" + counter + ":L" + counter].Merge();
                sheet.Range["I" + counter].Text = "сумма чека: ";
                sheet.Range["M" + counter + ":R" + counter].Merge();
                sheet.Range["M" + counter].Text = totalSum.ToString() + " руб.";
                sheet.Range["M" + counter + ":R" + counter].BorderAround();
                counter++;
                sheet.Range["B" + counter + ":P" + counter].Merge();
                sheet.Range["B" + counter].Text = "Всего наименований " + sales.Count;
                counter += 3;
                sheet.Range["C" + counter + ":K" + (counter + 4)].Merge();
                sheet.Range["C" + counter].Text = "Отпустил продавец:__________________________________";
                counter += 4;
                sheet.Range["D" + counter].Text = "Товар получен, осмотрен, претензий по внешнему виду не имею. О условиях гарантии предупрежден.";
                counter++;
                sheet.Range["F" + counter].Text = "М.П.";

                //bool? result = saveFile.ShowDialog();
                //if (result.HasValue && result.Value)
                //{
                //    using (Stream stream = saveFile.OpenFile())
                //    {
                //        wb.SaveToStream(stream);
                //    }

                //}
                //int counter2 = 0;
                //do
                //{
                //    System.Threading.Thread.Sleep(500);
                //    counter2++;
                //} while (!File.Exists(saveFile.FileName) && counter2 < 10);
                //if (counter2 < 10)
                //    System.Diagnostics.Process.Start(saveFile.FileName);
                PrintDialog dialog = new PrintDialog();
                dialog.UserPageRangeEnabled = true;
                PageRange rang = new PageRange(1, 1);
                dialog.PageRange = rang;
                PageRangeSelection seletion = PageRangeSelection.UserPages;
                dialog.PageRangeSelection = seletion;
                //dialog.PrintQueue = new PrintQueue(new PrintServer(), "Brother DCP-9020CDW Printer (копия 1)");
                PrintDocument pd = wb.PrintDocument;
                if (dialog.ShowDialog() == true)
                {
                    pd.Print();
                    //Thread.Sleep(10000);
                    //int point = 0;
                }
                //this.Close();
            }
            catch (Exception ex)
            {
                int point = 0;
            }
        }