private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                TypeExpenseDto typeExpenseDto = new TypeExpenseDto();
                typeExpenseDto.Description = tbDescription.Text;
                typeExpenseDto.Limited     = double.Parse(tbLimited.Text);
                typeExpenseDto.Title       = tbTitle.Text;

                ITypeExpenseProcess typeExpenseProcess = ProcessFactory.GetTypeExpenseProcess();

                if (_id == 0)
                {
                    typeExpenseProcess.Add(typeExpenseDto);
                }
                else
                {
                    typeExpenseDto.idType = _id;
                    typeExpenseProcess.Update(typeExpenseDto);
                }
                this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 public void Load(TypeExpenseDto typeExpenseDto)
 {
     if (typeExpenseDto == null)
     {
         return;
     }
     _id = typeExpenseDto.idType;
     //this.tbDivisionID.Text = divisionDto.idDivision.ToString();
     this.tbDescription.Text = typeExpenseDto.Description.ToString();
     this.tbLimited.Text     = typeExpenseDto.Limited.ToString();
     this.tbTitle.Text       = typeExpenseDto.Title.ToString();
 }
Esempio n. 3
0
        public static TypeExpense Convert(TypeExpenseDto typeExpenseDto)
        {
            if (typeExpenseDto == null)
            {
                return(null);
            }
            TypeExpense typeExpense = new TypeExpense();

            typeExpense.Description = typeExpenseDto.Description;
            typeExpense.idType      = typeExpenseDto.idType;
            typeExpense.Limited     = typeExpenseDto.Limited;
            typeExpense.Title       = typeExpenseDto.Title;
            return(typeExpense);
        }
        private void BtnEdit_Click(object sender, RoutedEventArgs e)
        {
            switch (currentTable)
            {
            case "Worker":
                WorkerDto workerDto = (WorkerDto)dgMain.SelectedItem;
                if (workerDto != null)
                {
                    WorkerWindow workerWindow = new WorkerWindow();
                    workerWindow.Load(workerDto);
                    workerWindow.ShowDialog();
                    MenuItem_Click(sender, e);    //update table
                }
                break;

            case "Division":
                DivisionDto divisionDto = (DivisionDto)dgMain.SelectedItem;
                if (divisionDto != null)
                {
                    DivisionWindow divisionWindow = new DivisionWindow();
                    divisionWindow.Load(divisionDto);
                    divisionWindow.ShowDialog();
                    MenuItem_Click_1(sender, e);
                }
                break;

            case "ExpenseByWorker":
                ExpenseDto expenseDto = (ExpenseDto)dgMain.SelectedItem;
                if (expenseDto != null)
                {
                    ExpenseWindow expenseWindow = new ExpenseWindow();
                    expenseWindow.Load(expenseDto);
                    expenseWindow.ShowDialog();
                    MenuItem_Click_3(sender, e);
                }
                break;

            case "TypeExpense":
                TypeExpenseDto typeExpenseDto = (TypeExpenseDto)dgMain.SelectedItem;
                if (typeExpenseDto != null)
                {
                    TypeExpenseWindow typeExpenseWindow = new TypeExpenseWindow();
                    typeExpenseWindow.Load(typeExpenseDto);
                    typeExpenseWindow.ShowDialog();
                    MenuItem_Click_4(sender, e);
                }
                break;
            }
        }
        private void btnDelete_Click(object sender, RoutedEventArgs e)
        {
            switch (currentTable)
            {
            case "Worker":
                WorkerDto item = (WorkerDto)dgMain.SelectedItem;

                if (item == null)
                {
                    MessageBox.Show("Choose item from delete", "Worker delete");
                    return;
                }

                MessageBoxResult result = MessageBox.Show("Delete " + item.Name + "?", "Worker delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (result != MessageBoxResult.Yes)
                {
                    return;
                }

                ProcessFactory.GetWorkerProcess().Delete(item.idWorker);
                MenuItem_Click(sender, e);    //update table
                break;

            case "Division":
                DivisionDto itemDivision = (DivisionDto)dgMain.SelectedItem;

                if (itemDivision == null)
                {
                    MessageBox.Show("Choose item from delete", "Division delete");
                    return;
                }

                MessageBoxResult resultDivision = MessageBox.Show("Delete " + itemDivision.Title + "?", "Division delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (resultDivision != MessageBoxResult.Yes)
                {
                    return;
                }

                ProcessFactory.GetDivisionProcess().Delete(itemDivision.idDivision);
                MenuItem_Click_1(sender, e);
                break;

            case "ExpenseByWorker":
                ExpenseDto itemExpenseDto = (ExpenseDto)dgMain.SelectedItem;

                if (itemExpenseDto == null)
                {
                    MessageBox.Show("Choose item from delete", "Expense delete");
                    return;
                }

                MessageBoxResult resultExpense = MessageBox.Show("Delete " + itemExpenseDto.Description + "?", "Expense delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (resultExpense != MessageBoxResult.Yes)
                {
                    return;
                }

                ProcessFactory.GetExpenseByWorkerProcess().Delete(itemExpenseDto.idConsumption);
                MenuItem_Click_3(sender, e);
                break;

            case "TypeExpense":
                TypeExpenseDto itemTypeExpenseDto = (TypeExpenseDto)dgMain.SelectedItem;

                if (itemTypeExpenseDto == null)
                {
                    MessageBox.Show("Choose item from delete", "Type expense delete");
                    return;
                }

                MessageBoxResult resultTypeExpense = MessageBox.Show("Delete " + itemTypeExpenseDto.Title + "?", "Type expense delete", MessageBoxButton.YesNo, MessageBoxImage.Warning);

                if (resultTypeExpense != MessageBoxResult.Yes)
                {
                    return;
                }

                ProcessFactory.GetExpenseByWorkerProcess().Delete(itemTypeExpenseDto.idType);
                MenuItem_Click_4(sender, e);
                break;
            }
        }
 public void Update(TypeExpenseDto expenseDto)
 {
     _typeExpenseDao.Update(DtoConverter.Convert(expenseDto));
 }
 public void Add(TypeExpenseDto expenseDto)
 {
     _typeExpenseDao.Add(DtoConverter.Convert(expenseDto));
 }
Esempio n. 8
0
        public void fillExcelTableByType(IEnumerable <object> grid, string currentTable, FileInfo xlsxFile)
        {
            if (grid != null)
            {
                ExcelPackage pck   = new ExcelPackage(xlsxFile);
                var          excel = pck.Workbook.Worksheets.Add(currentTable);
                int          x     = 1;
                int          y     = 1;
                // Устанавливает фиксированный десятичный разделитель (нужно для верногораспознавания типа данных Excel'ем).
                CultureInfo cultureInfo = new
                                          CultureInfo(Thread.CurrentThread.CurrentCulture.Name);
                Thread.CurrentThread.CurrentCulture             = cultureInfo;
                cultureInfo.NumberFormat.NumberDecimalSeparator = ".";
                // Первая строка (шапка таблицы) – жирным стилем.
                excel.Cells["A1: Z1"].Style.Font.Bold = true;
                // Выравнивание текста в ячейках – по левому краю.
                excel.Cells.Style.HorizontalAlignment = ExcelHorizontalAlignment.Left;
                // Устанавливает формат ячеек.
                excel.Cells.Style.Numberformat.Format = "General";
                // Пустой объект для получения списка property.
                Object dtObj = new Object();
                switch (currentTable)
                {
                case "Worker":
                    dtObj = new WorkerDto();
                    break;

                case "Division":
                    dtObj = new DivisionDto();
                    break;

                case "ExpenseByWorker":
                    dtObj = new ExpenseDto();
                    break;

                case "TypeExpense":
                    dtObj = new TypeExpenseDto();
                    break;
                }
                // Генерация шапки таблицы.
                foreach (var prop in dtObj.GetType().GetProperties())
                {
                    excel.Cells[y, x].Value = prop.Name.Trim();
                    x++;
                }
                // Генерация строк-записей таблицы.
                foreach (var item in grid)
                {
                    y++;
                    // Объект-контейнер для текущего читаемого элемента.
                    Object itemObj = item;
                    x = 1;
                    foreach (var prop in itemObj.GetType().GetProperties())
                    {
                        object t = prop.GetValue(itemObj, null);
                        object val;
                        if (t == null)
                        {
                            val = "";
                        }
                        else
                        {
                            val = t.ToString();
                            // Если тип сложный, то вытаскиваем нужное поле.
                            if (t is WorkerDto)
                            {
                                val = ((WorkerDto)t).Name;
                            }
                            if (t is DivisionDto)
                            {
                                val = ((DivisionDto)t).Title;
                            }
                            if (t is ExpenseDto)
                            {
                                val = ((ExpenseDto)t).Description;
                            }
                            if (t is TypeExpenseDto)
                            {
                                val = ((TypeExpenseDto)t).Title;
                            }
                        }
                        excel.Cells[y, x].Value = val;
                        x++;
                    }
                }
                // Устанавливаем размер колонок по ширине содержимого.
                excel.Cells.AutoFitColumns();
                // Сохраняем файл.
                pck.Save();
            }
            else
            {
                MessageBox.Show("Данные не загружены!");
            }
        }