public GetController( MeritDbContext dbContext, InvoiceReportService invoiceReportService, AppSettings appSettings, InvoiceRepository invoiceRepository, InvoiceService invoiceService, LocationRepository locationRepository, WorkOrderRepository workOrderRepository, UnloadingWorkOrderQueries unloadingWorkOrderQueries, DlsWorkOrderQueries dlsWorkOrderQueries, BOLQueries bolQueries, ServiceWorkOrderQueries serviceWorkOrderQueries) { this.dbContext = dbContext; this.invoiceGenerationSettings = new InvoiceGenerationSettings(); this.appSettings = appSettings; this.invoiceRepository = invoiceRepository; this.locationRepository = locationRepository; this.workOrderRepository = workOrderRepository; this.invoiceReportService = invoiceReportService; this.krogerExcelGenerator = new KrogerExcelGenerator(invoiceGenerationSettings.KrogerInvoiceTemplatePath); this.pdfGenerator = new PdfGenerator(); this.unloadingWorkOrderQueries = unloadingWorkOrderQueries; this.dlsWorkOrderQueries = dlsWorkOrderQueries; this.invoiceService = invoiceService; this.bolQueries = bolQueries; this.serviceWorkOrderQueries = serviceWorkOrderQueries; }
public UnitOfWork(ApplicationDbContext context) { _context = context; Clients = new ClientRepository(_context); ClientsHistory = new ClientHistoryRepository(_context); ClientUsers = new ClientUserRepository(_context); ClientUsersHistory = new ClientUserHistoryRepository(_context); Customers = new CustomerRepository(_context); CustomersHistory = new CustomerHistoryRepository(_context); ClientCustomers = new ClientCustomerRepository(_context); ClientCustomersHistory = new ClientCustomerHistoryRepository(_context); CustomerLocations = new CustomerLocationRepository(_context); CustomerLocationsHistory = new CustomerLocationHistoryRepository(_context); Products = new ProductRepository(_context); ProductsHistory = new ProductHistoryRepository(_context); WorkOrders = new WorkOrderRepository(_context); WorkOrdersHistory = new WorkOrderHistoryRepository(_context); }
static void Main(string[] args) { IRepository<WorkOrder> repository = new WorkOrderRepository(); var result = repository.List; foreach (var r in result) { Console.ReadLine(r.WONumber.ToString()); } }
public FluentRecordBase AddRepoWorkOrder() { if (_dbFactory == null) { AddDBFactory(); } _repoWO = new WorkOrderRepository(_dbFactory); return(this); }
protected void OnEntryPhoneChanged(object sender, EventArgs e) { IList <WorkOrder> list = null; if (entryPhone.Text.Length == 16) { list = WorkOrderRepository.GetOrdersByPhone(UoW, entryPhone.Text, Entity.Id); TestCanSave(); } ytreeOtherOrders.ItemsDataSource = list; GtkScrolledWindowOtherOrders.Visible = list != null && list.Count > 0; }
/// <summary> /// Occurs when RunWorkerAsync is called. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="DoWorkEventArgs"/> instance containing the event data.</param> private void LoadWorkOrdersBackground(object sender, DoWorkEventArgs e) { IWorkOrderRepository workOrderRepository = new WorkOrderRepository(); BackgroundWorker source = (BackgroundWorker)sender; var results = workOrderRepository.GetAllWorkOrders(); int index = 0; foreach (var item in results) { Application.Current.Dispatcher.Invoke(DispatcherPriority.Background, new Action(delegate { })); source.ReportProgress(++index, item); } }
protected void OnButtonOkClicked(object sender, EventArgs e) { #region Выбираем файл var fileChooser = new Gtk.FileChooserDialog( "Сохранить как...", (Window)this.Toplevel, Gtk.FileChooserAction.Save, "Отмена", ResponseType.Cancel, "Сохранить", ResponseType.Accept); Gtk.FileFilter excel2007 = new Gtk.FileFilter(); excel2007.AddPattern("*.xlsx"); excel2007.Name = ".xlsx (Excel 2007)"; //Gtk.FileFilter excel2003 = new Gtk.FileFilter(); //excel2003.AddPattern("*.xls"); //excel2003.Name = ".xls (Excel 2003)"; fileChooser.AddFilter(excel2007); //fileChooser.AddFilter(excel2003); string filename; bool result = fileChooser.Run() == (int)ResponseType.Accept; filename = fileChooser.Filename; fileChooser.Destroy(); if (!result) { return; } #endregion #region Загружаем заказы buttonOk.Sensitive = buttonCancel.Sensitive = false; progressbar1.Text = "Загрузка списка заказов..."; progressbar1.Adjustment.Upper = 1; GtkHelper.WaitRedraw(); if (!filename.EndsWith(".xlsx")) //&& !filename.EndsWith(".xls")) { filename += ".xlsx"; } var orders = WorkOrderRepository.GetOrders(UoW, daterange.StartDateOrNull, daterange.EndDateOrNull); logger.Info($"Загружено {orders.Count} заказов."); progressbar1.Adjustment.Upper = orders.Count + 2; progressbar1.Text = "Формирование файла..."; GtkHelper.WaitRedraw(); #endregion #region Базовые настройки var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet("Заказы"); //Заголовок var headerStyle = workbook.CreateCellStyle(); var headerFont = workbook.CreateFont(); headerFont.FontName = "Calibri"; headerFont.FontHeightInPoints = 11; headerFont.IsBold = true; headerStyle.SetFont(headerFont); var newDataFormat = workbook.CreateDataFormat(); var dateCellStyle = workbook.CreateCellStyle(); dateCellStyle.DataFormat = newDataFormat.GetFormat("dd.MM.yyyy"); //Ширина измеряется в количестве симвовлов * 256 sheet.SetColumnWidth(0, 7 * 256); sheet.SetColumnWidth(1, 14 * 256); sheet.SetColumnWidth(2, 16 * 256); sheet.SetColumnWidth(3, 5 * 256); sheet.SetColumnWidth(4, 20 * 256); sheet.SetColumnWidth(5, 11 * 256); sheet.SetColumnWidth(6, 14 * 256); sheet.SetColumnWidth(7, 15 * 256); sheet.SetColumnWidth(8, 6 * 256); sheet.SetColumnWidth(9, 20 * 256); sheet.SetColumnWidth(10, 12 * 256); sheet.SetColumnWidth(11, 15 * 256); sheet.SetColumnWidth(12, 10 * 256); #endregion #region параметры экспорта string[] columnTiles = new string[] { "Номер", "Марка", "Модель", "Год", "Еврокод", "Производитель", "Склад", "Телефон", "Сумма работ", "Коментарий", "Состояние заказа", "Вид работ", "Дата работы" }; Action <WorkOrder, ICell>[] SetValuesFuncs = new Action <WorkOrder, ICell>[] { (o, c) => c.SetCellValue(o.Id), (o, c) => c.SetCellValue(o.CarModel?.Brand?.Name), (o, c) => c.SetCellValue(o.CarModel?.Name), (o, c) => c.SetCellValue(o.CarYearText), (o, c) => c.SetCellValue(o.Eurocode), (o, c) => c.SetCellValue(o.Manufacturer?.Name), (o, c) => c.SetCellValue(o.Stock?.Name), (o, c) => c.SetCellValue(o.Phone), (o, c) => c.SetCellValue((double)o.Pays.Sum(x => x.Cost)), (o, c) => c.SetCellValue(o.Comment), (o, c) => c.SetCellValue(o.OrderState?.Name), (o, c) => c.SetCellValue(o.OrderTypeClass?.Name), (o, c) => { c.SetCellValue(o.Date); c.CellStyle = dateCellStyle; }, }; #endregion var headerRow = sheet.CreateRow(0); for (var i = 0; i < columnTiles.Length; i++) { var cell = headerRow.CreateCell(i); cell.SetCellValue(columnTiles[i]); cell.CellStyle = headerStyle; } for (var row = 1; row <= orders.Count; row++) { progressbar1.Text = $"Заказ {row} из {orders.Count}"; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); var dataRow = sheet.CreateRow(row); for (var i = 0; i < columnTiles.Length; i++) { var cell = dataRow.CreateCell(i); SetValuesFuncs[i](orders[row - 1], cell); } } if (updatePhoneFormat) { PhoneUpdate(workbook, orders); } progressbar1.Text = "Записываем фаил..."; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); try { using (FileStream file = new FileStream(filename, FileMode.Create, FileAccess.Write)) { workbook.Write(file); } } catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogHelper.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); return; } throw ex; } progressbar1.Text = "Готово"; progressbar1.Adjustment.Value++; GtkHelper.WaitRedraw(); if (checkOpenAfterSave.Active) { progressbar1.Text = "Открываем Excel"; GtkHelper.WaitRedraw(); logger.Info("Открываем во внешем приложении..."); System.Diagnostics.Process.Start(filename); } logger.Info("Ок"); Respond(ResponseType.Ok); }