Ejemplo n.º 1
0
 private void checkValidDirectory()
 {
     if (!Directory.Exists(DataPath))
     {
         DialogResult result = MessageBox.Show("Путь к созданым ранее документам недоступен! Указать новый путь или использовать путь по умолчанию?", "Использовать новый путь?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         if (result == DialogResult.Yes)
         {
             fBDialogPath             = new FolderBrowserDialog();
             fBDialogPath.Description = "Выберите папку для загрузки и сохранения документов";
             fBDialogPath.ShowDialog();
             if (!Directory.Exists(fBDialogPath.SelectedPath))
             {
                 checkValidDirectory();
             }
             else
             {
                 DataPath = fBDialogPath.SelectedPath;
             }
         }
         else
         {
             DataPath = Application.StartupPath;
         }
     }
     this.WindowState = FormWindowState.Normal;
     this.Focus();
     LoggingService.AddLog("Выбран путь: " + DataPath);
 }
Ejemplo n.º 2
0
        private void BuildDocument()
        {
            WordWorker.Load();
            Word.Range range = WordWorker.doc.Paragraphs[WordWorker.doc.Paragraphs.Count].Range;
            double     summ  = 0;
            int        i     = 2;

            foreach (ProductDTO product in MainForm.DB.Products.GetAll())
            {
                WordWorker.doc.Tables[1].Rows.Add();
                i++;
                WordWorker.doc.Tables[1].Cell(i, 1).Range.Text = product.Name;
                WordWorker.doc.Tables[1].Cell(i, 2).Range.Text = MainForm.DB.Units.Get(product.UnitId).Name;
                WordWorker.doc.Tables[1].Cell(i, 4).Range.Text = product.Balance.ToString();
                WordWorker.doc.Tables[1].Cell(i, 3).Range.Text = product.getPrice().ToString();
                WordWorker.doc.Tables[1].Cell(i, 5).Range.Text = Math.Round(product.Sum, 2).ToString();
                summ += product.Sum;
            }
            WordWorker.doc.Tables[1].Rows.Add();
            i++;
            WordWorker.doc.Tables[1].Cell(i, 1).Range.Text = "Итого";
            WordWorker.doc.Tables[1].Cell(i, 5).Range.Text = Math.Round(summ, 2).ToString();
            DateTime now = DateTime.Now;

            WordWorker.Save(MainForm.DataPath + "\\Документы\\Остатки продуктов на " + (now.ToString("g")).Replace('.', '-').Replace(':', '-') + ".docx");
            WordWorker.Close();
            WordWorker.Open(MainForm.DataPath + "\\Документы\\Остатки продуктов на " + (now.ToString("g")).Replace('.', '-').Replace(':', '-') + ".docx");
            LoggingService.AddLog("Распечатка остатков на " + (now.ToString("g")).Replace('.', '-').Replace(':', '-') + " в файл по пути: " + MainForm.DataPath + "\\Документы\\");
        }
        private void ButDel_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Вы уверены, что хотите удалить продукт " + _Product.Name + " ?", "Удаление продукта", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                MainForm.DB.Products.Delete(_Product.Id);
                MainForm.DB.Save();
                MessageBox.Show("Продукт успешно удалён");
                LoggingService.AddLog("Удаление продукта: " + _Product.Name);
                this.Close();
                main.ReloadData();
            }
        }
Ejemplo n.º 4
0
        private void ButDelete_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Вы уверены, что хотите удалить блюдо " + _Dish.Name + " ?", "Удаление блюда", MessageBoxButtons.YesNo);

            if (result == DialogResult.Yes)
            {
                MainForm.DB.Dishes.Delete(_Dish.Id);
                MainForm.DB.Save();
                LoggingService.AddLog("Удаление блюда: " + _Dish.ToString());
                MessageBox.Show("Блюдо успешно удалено");
                this.Close();
                main.ReloadData();
            }
        }
Ejemplo n.º 5
0
 private void DGVDishesList_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == 6)
     {
         AddEditDishForm addEdit = new AddEditDishForm((DishDTO)dGVDishesList.CurrentRow.Tag, this);
         addEdit.Show();
     }
     if (e.ColumnIndex == 7)
     {
         DishDTO dish = (DishDTO)dGVDishesList.CurrentRow.Tag;
         if (MessageBox.Show("Удалить " + dish.Name + " ?", "Подтверждение удаления", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             MainForm.DB.Dishes.Delete(dish.Id);
             MainForm.DB.Save();
             LoggingService.AddLog("Удаление блюда: " + dish.ToString());
             ReloadData();
         }
     }
 }
Ejemplo n.º 6
0
 private void DGVProductsList_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex == 6)
     {
         AddEditProductForm addEdit = new AddEditProductForm((ProductDTO)dGVProductsList.CurrentRow.Tag, this);
         addEdit.Show();
     }
     if (e.ColumnIndex == 7)
     {
         ProductDTO product = (ProductDTO)dGVProductsList.CurrentRow.Tag;
         if (MessageBox.Show("Удалить " + product.Name + " ?", "Подтверждение удаления", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             MainForm.DB.Products.Delete(product.Id);
             MainForm.DB.Save();
             LoggingService.AddLog("Удаление продукта: " + product.ToString());
             ReloadData();
         }
     }
 }
        private void ButSave_Click(object sender, EventArgs e)
        {
            if (tBName.Text == "")
            {
                ShowError("Не все обязательные поля заполнены!");
            }
            else
            {
                if (_Product == null)
                {
                    ProductDTO product = new ProductDTO();
                    product.Name       = tBName.Text.ToString();
                    product.PsevdoName = tBPsevdoName.Text.ToString();
                    if (tBNorm.Text != "")
                    {
                        product.Norm = float.Parse(tBNorm.Text);
                    }
                    if (tBSum.Text != "")
                    {
                        product.Sum = float.Parse(tBSum.Text);
                    }
                    if (tBBalance.Text != "")
                    {
                        product.Balance = float.Parse(tBBalance.Text);
                    }
                    if (tBCarbo.Text != "")
                    {
                        product.Carbohydrate = int.Parse(tBCarbo.Text);
                    }
                    if (tBProtein.Text != "")
                    {
                        product.Protein = int.Parse(tBProtein.Text);
                    }
                    if (tBFat.Text != "")
                    {
                        product.Fat = int.Parse(tBFat.Text);
                    }
                    if (tBVitamine.Text != "")
                    {
                        product.Vitamine_C = int.Parse(tBVitamine.Text);
                    }
                    TypeDTO type = MainForm.DB.Types.GetAll().Where(x => x.Name == cBType.SelectedValue.ToString()).First();
                    product.Type   = type;
                    product.TypeId = type.Id;
                    UnitDTO unit = MainForm.DB.Units.GetAll().Where(x => x.Name == cBUnit.SelectedValue.ToString()).First();
                    product.Unit   = unit;
                    product.UnitId = unit.Id;
                    MainForm.DB.Products.Create(product);
                    actions.Add(new ActionDescription("Характеристики продукта: " + product.Name, "Псевдоним: " + product.PsevdoName, "Ед. изм.: " + product.Unit.Name, "Тип: " + product.Type.Name, "Сумма: " + product.Sum.ToString(), "Количество: " + product.Balance.ToString(), "Норма = " + product.Norm.ToString(), "Углеводы: " + product.Carbohydrate.ToString(), "Жиры: " + product.Fat.ToString(), "Белки: " + product.Protein.ToString(), "Витамин С: " + product.Vitamine_C.ToString()));
                    logMessage.Append(product.Name);
                }
                else
                {
                    ProductDTO product = MainForm.DB.Products.Get(_Product.Id);
                    product.Name       = tBName.Text.ToString();
                    product.PsevdoName = tBPsevdoName.Text.ToString();
                    if (tBNorm.Text != "")
                    {
                        product.Norm = float.Parse(tBNorm.Text);
                    }
                    if (tBCarbo.Text != "")
                    {
                        product.Carbohydrate = int.Parse(tBCarbo.Text);
                    }
                    if (tBProtein.Text != "")
                    {
                        product.Protein = int.Parse(tBProtein.Text);
                    }
                    if (tBSum.Text != "")
                    {
                        product.Sum = float.Parse(tBSum.Text);
                    }
                    if (tBBalance.Text != "")
                    {
                        product.Balance = float.Parse(tBBalance.Text);
                    }
                    if (tBFat.Text != "")
                    {
                        product.Fat = int.Parse(tBFat.Text);
                    }
                    if (tBVitamine.Text != "")
                    {
                        product.Vitamine_C = int.Parse(tBVitamine.Text);
                    }
                    TypeDTO type = MainForm.DB.Types.GetAll().Where(x => x.Name == cBType.SelectedValue.ToString()).First();
                    product.Type   = type;
                    product.TypeId = type.Id;
                    UnitDTO unit = MainForm.DB.Units.GetAll().Where(x => x.Name == cBUnit.SelectedValue.ToString()).First();
                    product.Unit   = unit;
                    product.UnitId = unit.Id;

                    MainForm.DB.Products.Update(product);
                    actions.Add(new ActionDescription("Характеристики продукта: " + product.Name, "Псевдоним: " + product.PsevdoName, "Ед. изм.: " + product.Unit.Name, "Тип: " + product.Type.Name, "Cумма: " + product.Sum.ToString(), "Количество: " + product.Balance.ToString(), "Норма = " + product.Norm.ToString(), "Углеводы: " + product.Carbohydrate.ToString(), "Жиры: " + product.Fat.ToString(), "Белки: " + product.Protein.ToString(), "Витамин С: " + product.Vitamine_C.ToString()));
                    logMessage.Append(product.Name);
                }
                MainForm.DB.Save();
                MessageBox.Show("Продукт успешно сохранён");
                LoggingService.AddLog(logMessage.ToString(), actions.ToArray());
                this.Close();
            }
        }
Ejemplo n.º 8
0
        private void ButSave_Click(object sender, EventArgs e)
        {
            if (tBName.Text == "" || tBNorm.Text == "")
            {
                ShowError("Не все обязательные поля заполнены!");
            }
            else
            {
                if (lBSostav.Items.Count == 0)
                {
                    ShowError("Состав не может быть пустым!");
                }
                else
                {
                    if (_Dish == null)
                    {
                        DishDTO dish = new DishDTO();
                        dish.Name = tBName.Text.ToString();
                        dish.Norm = float.Parse(tBNorm.Text);
                        if (tBCarbo.Text != "")
                        {
                            dish.Carbohydrate = int.Parse(tBCarbo.Text);
                        }
                        if (tBProtein.Text != "")
                        {
                            dish.Protein = int.Parse(tBProtein.Text);
                        }
                        if (tBFat.Text != "")
                        {
                            dish.Fat = int.Parse(tBFat.Text);
                        }
                        if (tBVitamine.Text != "")
                        {
                            dish.Vitamine_C = int.Parse(tBVitamine.Text);
                        }
                        MainForm.DB.Dishes.Create(dish);
                        MainForm.DB.Save();
                        List <ActionDescription> actions = new List <ActionDescription>();
                        actions.Add(new ActionDescription("Характеристики блюда: " + dish.Name, "Норма = " + dish.Norm.ToString(), "Углеводы: " + dish.Carbohydrate.ToString(), "Жиры: " + dish.Fat.ToString(), "Белки: " + dish.Protein.ToString(), "Витамин С: " + dish.Vitamine_C.ToString()));

                        DishDTO dishNew = MainForm.DB.Dishes.GetAll().Last();
                        foreach (var item in products)
                        {
                            float temp;
                            norms.TryGetValue(item.Name, out temp);
                            MainForm.DB.ProductDishes.Create(new ProductDishDTO
                            {
                                Dish      = dishNew,
                                DishId    = dishNew.Id,
                                Product   = item,
                                ProductId = item.Id,
                                Norm      = temp
                            });
                            MainForm.DB.Save();
                            actions.Add(new ActionDescription("Добавление продукта " + item.Name, "Норма = " + temp.ToString()));
                        }
                        LoggingService.AddLog("Добавление нового блюда: " + dish.ToString(), actions.ToArray());
                    }
                    else
                    {
                        DishDTO dish = MainForm.DB.Dishes.Get(_Dish.Id);
                        dish.Name = tBName.Text.ToString();
                        dish.Norm = float.Parse(tBNorm.Text);
                        if (tBCarbo.Text != "")
                        {
                            dish.Carbohydrate = int.Parse(tBCarbo.Text);
                        }
                        if (tBProtein.Text != "")
                        {
                            dish.Protein = int.Parse(tBProtein.Text);
                        }
                        if (tBFat.Text != "")
                        {
                            dish.Fat = int.Parse(tBFat.Text);
                        }
                        if (tBVitamine.Text != "")
                        {
                            dish.Vitamine_C = int.Parse(tBVitamine.Text);
                        }

                        var list = MainForm.DB.ProductDishes.GetAll().Where(x => x.DishId == _Dish.Id);
                        foreach (var item in list)
                        {
                            MainForm.DB.ProductDishes.Delete(item.Id);
                        }
                        MainForm.DB.Save();
                        List <ActionDescription> actions = new List <ActionDescription>();
                        actions.Add(new ActionDescription("Характеристики блюда: " + dish.Name, "Норма = " + dish.Norm.ToString(), "Углеводы: " + dish.Carbohydrate.ToString(), "Жиры: " + dish.Fat.ToString(), "Белки: " + dish.Protein.ToString(), "Витамин С: " + dish.Vitamine_C.ToString()));

                        foreach (var item in products)
                        {
                            float temp;
                            norms.TryGetValue(item.Name, out temp);
                            MainForm.DB.ProductDishes.Create(new ProductDishDTO
                            {
                                Dish      = dish,
                                DishId    = dish.Id,
                                Product   = item,
                                ProductId = item.Id,
                                Norm      = temp
                            });
                            MainForm.DB.Save();
                            actions.Add(new ActionDescription("Добавление продукта " + item.Name, "Норма = " + temp.ToString()));
                        }
                        LoggingService.AddLog("Изменение блюда: " + dish.ToString(), actions.ToArray());
                    }
                    MainForm.DB.Save();
                    MessageBox.Show("Блюдо успешно сохранено");
                    this.Close();
                    main.ReloadData();
                }
            }
        }