public override bool Save() { var valid = new QSValidator <RouteList>(Entity, new Dictionary <object, object>() { { nameof(IRouteListItemRepository), new RouteListItemRepository() } }); if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel)) { return(false); } if (Entity.AdditionalLoadingDocument != null && !Entity.AdditionalLoadingDocument.Items.Any()) { UoW.Delete(Entity.AdditionalLoadingDocument); Entity.AdditionalLoadingDocument = null; } Entity.CalculateWages(_wageParameterService); if (_oldDriver != Entity.Driver) { if (_oldDriver != null) { var selfDriverTerminalTransferDocument = _routeListRepository.GetSelfDriverTerminalTransferDocument(UoW, _oldDriver, Entity); if (selfDriverTerminalTransferDocument != null) { UoW.Delete(selfDriverTerminalTransferDocument); } } _oldDriver = Entity.Driver; } _logger.Info("Сохраняем маршрутный лист..."); UoWGeneric.Save(); _logger.Info("Ok"); return(true); }