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);
        }