protected void OnButtonCreateReportClicked(object sender, EventArgs e) { string errorString = string.Empty; if (radioDriver.Active && (dateperiodpicker.StartDateOrNull == null || evmeDriver.Subject == null)) { errorString += "Не заполнена дата\n Не заполнен водитель\n"; } if (radioCar.Active && (dateperiodpicker.StartDateOrNull == null | entityviewmodelentryCar.Subject == null)) { errorString += "Не заполнена дата\n Не заполнен автомобиль\n"; } if (radioSumm.Active && dateperiodpicker.StartDateOrNull == null) { errorString += "Не заполнена дата\n"; } if (!string.IsNullOrWhiteSpace(errorString)) { MessageDialogWorks.RunErrorDialog(errorString); return; } OnUpdate(true); }
public static void ShowExceptionMessage(Exception ex) { var staleObjectStateException = ex as StaleObjectStateException; if (staleObjectStateException == null) { return; } var type = OrmConfig.FindMappingByShortClassName(staleObjectStateException.EntityName).EntityPersisterClass; var objectName = DomainHelper.GetSubjectNames(type); string message; switch (objectName.Gender) { case GrammaticalGender.Feminine: message = "Сохраняемая <b>{0}</b> c номером <b>{1}</b> была кем то изменена."; break; case GrammaticalGender.Neuter: message = "Сохраняемое <b>{0}</b> c номером <b>{1}</b> было кем то изменено."; break; case GrammaticalGender.Masculine: default: message = "Сохраняемый <b>{0}</b> c номером <b>{1}</b> был кем то изменен."; break; } message = String.Format(message + "\nВаши изменения не будут записаны, чтобы не потерять чужие изменения. \nПереоткройте вкладку.", objectName?.Nominative ?? type.Name, staleObjectStateException.Identifier); MessageDialogWorks.RunErrorDialog(message); }
protected void OnButtonInsertFromBufferClicked(object sender, EventArgs e) { bool error = true; string booferCoordinates = clipboard.WaitForText(); string[] coordinates = booferCoordinates?.Split(','); if (coordinates?.Length == 2) { decimal lat, lng; bool goodLat = decimal.TryParse(coordinates[0].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out lat); bool goodLon = decimal.TryParse(coordinates[1].Trim(), NumberStyles.Float, CultureInfo.InvariantCulture, out lng); SetCoordinates(lat, lng); if (goodLat && goodLon) { deliverypriceview.DeliveryPrice = DeliveryPriceCalculator.Calculate(latitude, longitude, yspinBottles.ValueAsInt); error = false; } } if (error) { MessageDialogWorks.RunErrorDialog( "Буфер обмена не содержит координат или содержит неправильные координаты"); } }
public override bool Save() { if (CheckWarehouseItems() == false) { MessageDialogWorks.RunErrorDialog("На складе не хватает материалов"); return(false); } var valid = new QSValidator <IncomingWater> (UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } logger.Info("Сохраняем документ производства..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public void UpdateNodes() { List <string> emptyDP = new List <string>(); items = new List <RouteListKeepingItemNode>(); foreach (var item in Entity.Addresses) { items.Add(new RouteListKeepingItemNode { RouteListItem = item }); if (item.Order.DeliveryPoint == null) { emptyDP.Add(string.Format( "Для заказа {0} не определена точка доставки.", item.Order.Id)); } } if (emptyDP.Count > 0) { string message = string.Join(Environment.NewLine, emptyDP); message += Environment.NewLine + "Необходимо добавить точки доставки или сохранить вышеуказанные заказы снова."; MessageDialogWorks.RunErrorDialog(message); FailInitialize = true; return; } items.ForEach(i => i.StatusChanged += RLI_StatusChanged); ytreeviewAddresses.ItemsDataSource = new GenericObservableList <RouteListKeepingItemNode>(items); }
public DeliveryPriceDlg() { this.Build(); TabName = "Рассчет стоимости доставки"; entryCity.CitySelected += (sender, e) => { entryBuilding.Text = string.Empty; entryStreet.CityId = entryCity.OsmId; entryStreet.Street = string.Empty; entryStreet.StreetDistrict = string.Empty; }; entryStreet.StreetSelected += (sender, e) => { entryBuilding.Street = new OsmStreet(-1, entryStreet.CityId, entryStreet.Street, entryStreet.StreetDistrict); }; entryBuilding.CompletionLoaded += EntryBuilding_Changed; entryBuilding.Changed += EntryBuilding_Changed; //Configure map MapWidget.MapProvider = GMapProviders.OpenStreetMap; MapWidget.Position = new PointLatLng(59.93900, 30.31646); MapWidget.MinZoom = 0; MapWidget.MaxZoom = 24; MapWidget.Zoom = 9; MapWidget.WidthRequest = 450; MapWidget.HasFrame = true; MapWidget.Overlays.Add(addressOverlay); deliverypriceview.OnError += (sender, e) => { MessageDialogWorks.RunErrorDialog(e); }; }
public RouteListTrackDlg() { this.Build(); this.TabName = "Мониторинг"; yTreeViewDrivers.RepresentationModel = new ViewModel.WorkingDriversVM(uow); yTreeViewDrivers.RepresentationModel.UpdateNodes(); yTreeViewDrivers.Selection.Mode = Gtk.SelectionMode.Multiple; yTreeViewDrivers.Selection.Changed += OnSelectionChanged; buttonChat.Sensitive = false; currentEmployee = EmployeeRepository.GetEmployeeForCurrentUser(uow); if (currentEmployee == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к сотруднику. Чат не будет работать."); } else { if (!ChatCallbackObservable.IsInitiated) { ChatCallbackObservable.CreateInstance(currentEmployee.Id); } ChatCallbackObservable.GetInstance().AddObserver(this); } //Configure map gmapWidget.MapProvider = GMapProviders.OpenStreetMap; gmapWidget.Position = new PointLatLng(59.93900, 30.31646); gmapWidget.HeightRequest = 150; //MapWidget.HasFrame = true; gmapWidget.Overlays.Add(carsOverlay); gmapWidget.Overlays.Add(tracksOverlay); gmapWidget.ExposeEvent += GmapWidget_ExposeEvent; UpdateCarPosition(); timerId = GLib.Timeout.Add(carRefreshInterval, new GLib.TimeoutHandler(UpdateCarPosition)); yenumcomboMapType.ItemsEnum = typeof(MapProviders); }
protected void OnButtonAddClicked(object sender, EventArgs e) { if (DocumentUoW.Root.FromWarehouse == null) { MessageDialogWorks.RunErrorDialog("Не добавлен склад отправителя."); return; } ITdiTab mytab = DialogHelper.FindParentTab(this); if (mytab == null) { logger.Warn("Родительская вкладка не найдена."); return; } var filter = new StockBalanceFilter(UnitOfWorkFactory.CreateWithoutRoot()); filter.SetAndRefilterAtOnce(x => x.RestrictWarehouse = DocumentUoW.Root.FromWarehouse); ReferenceRepresentation SelectDialog = new ReferenceRepresentation(new ViewModel.StockBalanceVM(filter)); SelectDialog.Mode = OrmReferenceMode.Select; SelectDialog.ButtonMode = ReferenceButtonMode.None; SelectDialog.ObjectSelected += NomenclatureSelected; mytab.TabParent.AddSlaveTab(mytab, SelectDialog); }
protected void OnButtonInsertFromBufferClicked(object sender, EventArgs e) { bool error = true; string booferCoordinates = clipboard.WaitForText(); string[] coordinates = booferCoordinates?.Split(','); if (coordinates?.Length == 2) { coordinates[0] = coordinates[0].Replace('.', ','); coordinates[1] = coordinates[1].Replace('.', ','); decimal latitude, longitude; bool goodLat = decimal.TryParse(coordinates[0].Trim(), out latitude); bool goodLon = decimal.TryParse(coordinates[1].Trim(), out longitude); if (goodLat && goodLon) { Entity.Latitude = latitude; Entity.Longitude = longitude; error = false; } } if (error) { MessageDialogWorks.RunErrorDialog( "Буфер обмена не содержит координат или содержит неправильные координаты"); } }
public override bool Save() { if (!UpdateReceivedItemsOnEntity()) { return(false); } var valid = new QSValidation.QSValidator <CarUnloadDocument>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } logger.Info("Сохраняем разгрузочный талон..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public override bool Save() { var messages = new List <string>(); var valid = new QSValidator <TransferOperationDocument>(UoWGeneric.Root); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } Entity.LastEditor = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); Entity.TimeStamp = datepickerDate.Date; // Entity.LastEditedTime = DateTime.Now; if (Entity.LastEditor == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика."); return(false); } messages.AddRange(Entity.SaveOperations(UoWGeneric, (int)spinBottles.Value, (decimal)spinDepositsBottles.Value, (decimal)spinDepositsEquipment.Value)); logger.Info("Сохраняем документ переноса..."); UoWGeneric.Save(); logger.Info("Ok."); return(true); }
public PriceLoadDlg(string filePath) { this.Build(); TabName = "Загрузка прайса (Шаг 1)"; try { using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { wb = new XSSFWorkbook(fs); } }catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); FailInitialize = true; return; } throw ex; } var sheets = new List <string>(); for (int s = 0; s < wb.NumberOfSheets; s++) { sheets.Add(wb.GetSheetName(s)); } comboSheet.ItemsList = sheets; ytreeviewSetColumns.EnableGridLines = Gtk.TreeViewGridLines.Both; ytreeviewSetColumns.HeadersClickable = true; SetColumnTypeMenu = GtkMenuHelper.GenerateMenuFromEnum <ReadingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected); notebook1.ShowTabs = false; //Вкладка второго экрана ytreeviewParsing.ColumnsConfig = ColumnsConfigFactory.Create <ReadingXLSRow>() .AddColumn("Статус").Resizable().AddTextRenderer(x => x.Status.GetEnumTitle()) .AddSetter((w, x) => w.Foreground = GetColorByStatus(x.Status)) .AddColumn("Тип").Resizable().SetDataProperty(node => node.DispalyType) .AddColumn("Диаметр").Resizable().SetDataProperty(node => node.DispalyDiameter) .AddColumn("Давление").Resizable().SetDataProperty(node => node.DispalyPressure) .AddColumn("Cоединения").Resizable().SetDataProperty(node => node.DispalyConnection) .AddColumn("Материал").Resizable().SetDataProperty(node => node.DispalyMaterial) .AddColumn("Артикул").Resizable().SetDataProperty(node => node.DispalyModel) .AddColumn("Цена").Resizable().AddNumericRenderer(x => x.Price) .AddSetter((w, x) => w.Background = x.Price.HasValue ? "white" : "red") .AddColumn("DN(XLS)").Resizable().AddTextRenderer(x => x.DNText).Background("White Smoke") .AddColumn("PN(XLS)").Resizable().AddTextRenderer(x => x.PNText).Background("White Smoke") .AddColumn("Модель(XLS)").Resizable().AddTextRenderer(x => x.ModelText).Background("White Smoke") .AddColumn("Цена(XLS)").Resizable().AddTextRenderer(x => x.PriceText).Background("White Smoke") .Finish(); ytreeviewParsing.EnableGridLines = TreeViewGridLines.Both; ytreeviewParsing.Selection.Mode = SelectionMode.Multiple; ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed; comboCurrency.ItemsEnum = typeof(PriceСurrency); }
protected void OnButtonCreateReportClicked(object sender, EventArgs e) { if (dateperiodpicker.StartDateOrNull == null) { MessageDialogWorks.RunErrorDialog("Необходимо выбрать дату"); return; } OnUpdate(true); }
private bool GetAuthor(out Employee cashier) { cashier = EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (cashier == null) { MessageDialogWorks.RunErrorDialog( "Ваш пользователь не привязан к действующему сотруднику."); return(false); } return(true); }
void AddEmployeeDlg_ObjectSelected(object sender, ReferenceRepresentationSelectedEventArgs e) { var employee = UoW.GetById <Employee>(e.ObjectId); if (Entity.Items.Any(x => x.Employee.Id == employee.Id)) { MessageDialogWorks.RunErrorDialog("Сотрудник {0} уже присутствует в списке.", employee.ShortName); return; } Entity.AddItem(employee); }
void ConfigureNewDoc() { UoWGeneric = UnitOfWorkFactory.CreateWithNewRoot <CarUnloadDocument>(); Entity.Author = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать складские документы, так как некого указывать в качестве кладовщика."); FailInitialize = true; return; } Entity.Warehouse = StoreDocumentHelper.GetDefaultWarehouse(UoW, WarehousePermissions.CarUnloadEdit); }
public UpdatePricesDlg() { logger.Info("Выбор файла для обновления цен..."); if (SelectFile()) { FailInitialize = true; return; } this.Build(); TabName = "Расположение колонок (Шаг 1)"; try { using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { wb = new XSSFWorkbook(fs); } } catch (IOException ex) { if (ex.HResult == -2147024864) { MessageDialogWorks.RunErrorDialog("Указанный файл уже открыт в другом приложении. Оно заблокировало доступ к файлу."); FailInitialize = true; return; } throw ex; } comboCurrency.ItemsEnum = typeof(PriceСurrency); var sheets = new List <string>(); for (int s = 0; s < wb.NumberOfSheets; s++) { sheets.Add(wb.GetSheetName(s)); } comboSheet.ItemsList = sheets; ytreeviewSetColumns.EnableGridLines = Gtk.TreeViewGridLines.Both; ytreeviewSetColumns.HeadersClickable = true; SetColumnTypeMenu = GtkMenuHelper.GenerateMenuFromEnum <UpdatingXLSRow.ColumnType>(OnSetColumnHeaderMenuSelected); notebook1.ShowTabs = false; ytreeviewParsing.EnableGridLines = TreeViewGridLines.Both; ytreeviewParsing.Selection.Mode = SelectionMode.Multiple; ytreeviewParsing.Selection.Changed += YtreeviewParsing_Selection_Changed; comboProvider.SetRenderTextFunc <Provider>(x => x.Name); }
public override bool Save() { Entity.Author = EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать , так как некого указывать в качестве автора документа."); FailInitialize = true; } UoWGeneric.Save(); return(true); }
void ConfigureDlg() { var editing = !UoW.IsNew && StoreDocumentHelper.CanEditDocument(WarehousePermissions.ShiftChangeEdit, Entity.Warehouse); var canCreate = UoW.IsNew && !StoreDocumentHelper.CheckCreateDocument(WarehousePermissions.ShiftChangeCreate, Entity.Warehouse); if (!canCreate && UoW.IsNew) { FailInitialize = true; return; } if (!editing && !UoW.IsNew) { MessageDialogWorks.RunWarningDialog("У вас нет прав на изменение этого документа."); } ydatepickerDocDate.Sensitive = yentryrefWarehouse.IsEditable = ytextviewCommnet.Editable = editing || canCreate; shiftchangewarehousedocumentitemsview1.Sensitive = editing || canCreate; ydatepickerDocDate.Binding.AddBinding(Entity, e => e.TimeStamp, w => w.Date).InitializeFromSource(); if (UoW.IsNew) { yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.ShiftChangeCreate); } if (!UoW.IsNew) { yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.ShiftChangeEdit); } yentryrefWarehouse.Binding.AddBinding(Entity, e => e.Warehouse, w => w.Subject).InitializeFromSource(); ytextviewCommnet.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); string errorMessage = "Не установлены единицы измерения у следующих номенклатур :" + Environment.NewLine; int wrongNomenclatures = 0; foreach (var item in UoWGeneric.Root.Items) { if (item.Nomenclature.Unit == null) { errorMessage += string.Format("Номер: {0}. Название: {1}{2}", item.Nomenclature.Id, item.Nomenclature.Name, Environment.NewLine); wrongNomenclatures++; } } if (wrongNomenclatures > 0) { MessageDialogWorks.RunErrorDialog(errorMessage); FailInitialize = true; return; } shiftchangewarehousedocumentitemsview1.DocumentUoW = UoWGeneric; }
public ResidueDlg() { this.Build(); UoWGeneric = UnitOfWorkFactory.CreateWithNewRoot <Residue> (); Entity.Author = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать складские документы, так как некого указывать в качестве кладовщика."); FailInitialize = true; return; } ConfigureDlg(); }
public CashIncomeDlg() { this.Build(); UoWGeneric = UnitOfWorkFactory.CreateWithNewRoot <Income>(); Entity.Casher = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Casher == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать кассовые документы, так как некого указывать в качестве кассира."); FailInitialize = true; return; } Entity.Date = DateTime.Now; ConfigureDlg(); }
public TransferOperationDocumentDlg() { this.Build(); UoWGeneric = UnitOfWorkFactory.CreateWithNewRoot <TransferOperationDocument>(); TabName = "Новый перенос между точками доставки"; ConfigureDlg(); Entity.Author = Entity.ResponsiblePerson = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать складские документы, так как некого указывать в качестве кладовщика."); FailInitialize = true; return; } }
protected void OnButtonSendReportClicked(object sender, EventArgs e) { var svc = QSBugReporting.ReportWorker.GetReportService(); if (svc == null) { MessageDialogWorks.RunErrorDialog("Не удалось установить соединение с сервером Quality Solution."); return; } string logFileName = GetLogFile(); string logContent = String.Empty; if (!String.IsNullOrWhiteSpace(logFileName)) { try { logContent = System.IO.File.ReadAllText(logFileName); } catch (Exception ex) { logger.Error(ex, "Не смогли прочитать лог файл {0}, для отправки."); } } var result = svc.SubmitBugReport( new QSBugReporting.BugMessage { product = MainSupport.ProjectVerion.Product, Edition = MainSupport.ProjectVerion.Edition, version = MainSupport.ProjectVerion.Version.ToString(), stackTrace = String.Format("{0}{1}", String.IsNullOrWhiteSpace(message) ? String.Empty : String.Format("Пользовательское сообщение:{0}\n", message), AppExceptionText), description = textviewDescription.Buffer.Text, email = entryEmail.Text, userName = QSMain.User.Name, logFile = logContent }); if (result) { this.Respond(ResponseType.Ok); } else { MessageDialogWorks.RunWarningDialog("Отправка сообщения не удалась.\n" + "Проверьте ваше интернет соединение и повторите попытку. Если отправка неудастся возможно имеются проблемы на стороне сервера."); } }
public UndeliveredOrderDlg() { this.Build(); UoW = UnitOfWorkFactory.CreateWithNewRoot <UndeliveredOrder>(); UndeliveredOrder = UoW.RootObject as UndeliveredOrder; UndeliveredOrder.Author = EmployeeRepository.GetEmployeeForCurrentUser(UoW); UndeliveredOrder.EmployeeRegistrator = EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (UndeliveredOrder.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать недовозы, так как некого указывать в качестве автора документа."); FailInitialize = true; return; } TabName = "Новый недовоз"; UndeliveredOrder.TimeOfCreation = DateTime.Now; ConfigureDlg(); }
void YentryreferenceRLTo_Changed(object sender, EventArgs e) { if (yentryreferenceRLTo.Subject == null) { ytreeviewRLTo.ItemsDataSource = null; return; } RouteList routeListTo = yentryreferenceRLTo.Subject as RouteList; RouteList routeListFrom = yentryreferenceRLFrom.Subject as RouteList; if (DomainHelper.EqualDomainObjects(routeListFrom, routeListTo)) { yentryreferenceRLTo.Subject = null; MessageDialogWorks.RunErrorDialog("Вы дурачёк?", "Вы не можете передавать адреса в тот же МЛ, из которого забираете."); return; } if (TabParent != null) { var tab = TabParent.FindTab(OrmMain.GenerateDialogHashName <RouteList> (routeListTo.Id)); if (!(tab is RouteListClosingDlg)) { if (tab != null) { MessageDialogWorks.RunErrorDialog("Маршрутный лист уже открыт в другой вкладке"); yentryreferenceRLTo.Subject = null; return; } } } CheckSensitivities(); routeListTo.UoW = uow; IList <RouteListItemNode> items = new List <RouteListItemNode>(); foreach (var item in routeListTo.Addresses) { items.Add(new RouteListItemNode { RouteListItem = item }); } ytreeviewRLTo.ItemsDataSource = items; }
void AddEmployeeDlg_ObjectSelected(object sender, JournalObjectSelectedEventArgs e) { var selectedId = e.GetSelectedIds().FirstOrDefault(); if (selectedId == 0) { return; } var employee = FineUoW.GetById <Employee>(selectedId); if (FineUoW.Root.Items.Any(x => x.Employee.Id == employee.Id)) { MessageDialogWorks.RunErrorDialog("Сотрудник {0} уже присутствует в списке.", employee.ShortName); return; } FineUoW.Root.AddItem(employee); }
/// <summary> /// Проверка прав на просмотр документа /// </summary> /// <returns>Если <c>true</c> нет прав на просмотр.</returns> public static bool CheckViewWarehouse(WarehousePermissions edit, params Warehouse[] warehouses) { //Внимание!!! Склад пустой обычно у новых документов. Возможность создания должна проверятся другими условиями. Тут пропускаем. warehouses = warehouses.Where(x => x != null).ToArray(); if (warehouses.Length == 0) { return(false); } if (warehouses.Any(x => CurrentPermissions.Warehouse[WarehousePermissions.WarehouseView, x] || CurrentPermissions.Warehouse[edit, x])) { return(false); } MessageDialogWorks.RunErrorDialog("У вас нет прав на просмотр документов склада '{0}'.", String.Join(";", warehouses.Distinct().Select(x => x.Name))); return(true); }
private void OnFuelUpdated() { Employee cashier = FuelDocument.GetActualCashier(UoW); if (cashier == null) { MessageDialogWorks.RunErrorDialog( "Ваш пользователь не привязан к действующему сотруднику, Вы не можете выдавать денежные средства, так как некого указывать в качестве кассира."); return; } FuelDocument.Fuel.Cost = spinFuelPrice.ValueAsDecimal; FuelDocument.UpdateOperation(); FuelDocument.UpdateFuelCashExpense(UoW, cashier); UpdateResutlInfo(); UpdateFuelCashExpenseInfo(); }
public UndeliveredOrderCommentsDlg(IUnitOfWork uow, int id, CommentedFields field, string valueOfField) { UoW = uow; Field = field; UndeliveredOrder = uow.GetById <UndeliveredOrder>(id); Employee = EmployeeRepository.GetEmployeeForCurrentUser(uow); if (Employee == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику и вы не можете комментировать недовозы, так как некого указывать в качестве автора."); FailInitialize = true; return; } this.Build(); TabName = "Добавить комментарий"; lblValOfField.Text = valueOfField; ConfigureDlg(); }
public MovementDocumentDlg() { this.Build(); UoWGeneric = UnitOfWorkFactory.CreateWithNewRoot <MovementDocument> (); Entity.Author = Entity.ResponsiblePerson = Repository.EmployeeRepository.GetEmployeeForCurrentUser(UoW); if (Entity.Author == null) { MessageDialogWorks.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать складские документы, так как некого указывать в качестве кладовщика."); FailInitialize = true; return; } Entity.FromWarehouse = StoreDocumentHelper.GetDefaultWarehouse(UoW, WarehousePermissions.MovementEdit); Entity.ToWarehouse = StoreDocumentHelper.GetDefaultWarehouse(UoW, WarehousePermissions.MovementEdit); ConfigureDlg(); }