public override bool Save()
        {
            if (!Entity.CanEdit)
            {
                return(false);
            }

            var valid = new QS.Validation.QSValidator <RegradingOfGoodsDocument> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.LastEditor     = _employeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            logger.Info("Сохраняем документ пересортицы...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Пример #2
0
        public override bool Save()
        {
            Employee author;

            if (!GetAuthor(out author))
            {
                return(false);
            }

            if (Entity.Author == null)
            {
                Entity.Author = author;
            }
            var valid = new QS.Validation.QSValidator <Fine> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.UpdateWageOperations(UoW);
            Entity.UpdateFuelOperations(UoW);

            logger.Info("Сохраняем штраф...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
        public override bool Save()
        {
            if (!Entity.CanEdit)
            {
                return(false);
            }

            Entity.UpdateAlreadyLoaded(UoW, _routeListRepository);
            var valid = new QS.Validation.QSValidator <CarLoadDocument> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.LastEditor     = _employeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            if (Entity.Items.Any(x => x.Amount == 0))
            {
                var res = MessageDialogHelper.RunQuestionYesNoCancelDialog(
                    "<span foreground=\"red\">В списке есть нулевые позиции. Убрать нулевые позиции перед сохранением?</span>");
                switch (res)
                {
                case -4:                                                //DeleteEvent
                case -6:                                                //Cancel
                    return(false);

                case -8:                                                //Yes
                    Entity.ClearItemsFromZero();
                    break;

                case -9:                                                //No
                    break;
                }
            }

            Entity.UpdateOperations(UoW);

            logger.Info("Сохраняем погрузочный талон...");
            UoWGeneric.Save();

            logger.Info("Меняем статус маршрутного листа...");
            if (Entity.RouteList.ShipIfCan(UoW, CallTaskWorker, out _))
            {
                MessageDialogHelper.RunInfoDialog("Маршрутный лист отгружен полностью.");
            }
            UoW.Save(Entity.RouteList);
            UoW.Commit();

            logger.Info("Ok.");

            return(true);
        }
Пример #4
0
		public override bool Save ()
		{
			var valid = new QS.Validation.QSValidator<EquipmentType> (UoWGeneric.Root);
			if (valid.RunDlgIfNotValid ((Gtk.Window)this.Toplevel))
				return false;

			logger.Info ("Сохраняем тип оборудования...");
			UoWGeneric.Save ();
			return true;
		}
Пример #5
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <Folder1c>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            UoWGeneric.Save();
            return(true);
        }
Пример #6
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <Warehouse>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            _logger.Info("Сохраняем склад...");
            UoWGeneric.Save();
            return(true);
        }
Пример #7
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <IncomeCategory>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            logger.Info("Сохраняем статью дохода...");
            UoWGeneric.Save();
            return(true);
        }
Пример #8
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <EquipmentKind> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            logger.Info("Сохраняем вид оборудования...");
            UoWGeneric.Save();
            return(true);
        }
Пример #9
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <ProductGroup>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            logger.Info("Сохранение...");
            UoWGeneric.Save();
            logger.Info("Ок");
            return(true);
        }
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <RegradingOfGoodsTemplate> (UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            logger.Info("Сохраняем шаблон пересортицы...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Пример #11
0
        public override bool Save()
        {
            var valid = new QS.Validation.QSValidator <StoreItem>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            logger.Info("Сохраняем складскую позицию...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }
Пример #12
0
        public override bool Save()
        {
            logger.Info("Запись нормативного документа...");
            var valid = new QS.Validation.QSValidator <RegulationDoc>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            UoWGeneric.Save();

            logger.Info("Ok");
            return(true);
        }
Пример #13
0
        public override bool Save()
        {
            if (!Entity.CanEdit)
            {
                return(false);
            }

            var valid = new QS.Validation.QSValidator <SelfDeliveryDocument>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            Entity.LastEditor     = _employeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            Entity.UpdateOperations(UoW);
            Entity.UpdateReceptions(UoW, GoodsReceptionList, _nomenclatureRepository, _bottlesRepository);

            IStandartNomenclatures standartNomenclatures = new BaseParametersProvider(new ParametersProvider());
            var callTaskWorker = new CallTaskWorker(
                CallTaskSingletonFactory.GetInstance(),
                new CallTaskRepository(),
                new OrderRepository(),
                _employeeRepository,
                new BaseParametersProvider(new ParametersProvider()),
                ServicesConfig.CommonServices.UserService,
                SingletonErrorReporter.Instance);

            if (Entity.FullyShiped(UoW, standartNomenclatures, new RouteListItemRepository(), new SelfDeliveryRepository(), new CashRepository(), callTaskWorker))
            {
                MessageDialogHelper.RunInfoDialog("Заказ отгружен полностью.");
            }

            logger.Info("Сохраняем документ самовывоза...");
            UoWGeneric.Save();
            //FIXME Необходимо проверить правильность этого кода, так как если заказ именялся то уведомление на его придет и без кода.
            //А если в каком то месте нужно получать уведомления об изменениях текущего объекта, то логично чтобы этот объект на него и подписался.
            //OrmMain.NotifyObjectUpdated(new object[] { Entity.Order });
            logger.Info("Ok.");
            return(true);
        }
Пример #14
0
        public override bool Save()
        {
            if (!Entity.CanEdit)
            {
                return(false);
            }

            if (!UpdateReceivedItemsOnEntity(terminalNomenclatureProvider.GetNomenclatureIdForTerminal))
            {
                return(false);
            }

            var valid = new QS.Validation.QSValidator <CarUnloadDocument>(UoWGeneric.Root);

            if (valid.RunDlgIfNotValid((Gtk.Window) this.Toplevel))
            {
                return(false);
            }

            if (!CarUnloadRepository.IsUniqueDocumentAtDay(UoW, Entity.RouteList, Entity.Warehouse, Entity.Id))
            {
                MessageDialogHelper.RunErrorDialog("Документ по данному МЛ и складу уже сформирован");
                return(false);
            }

            Entity.LastEditor     = EmployeeRepository.GetEmployeeForCurrentUser(UoW);
            Entity.LastEditedTime = DateTime.Now;
            if (Entity.LastEditor == null)
            {
                MessageDialogHelper.RunErrorDialog("Ваш пользователь не привязан к действующему сотруднику, вы не можете изменять складские документы, так как некого указывать в качестве кладовщика.");
                return(false);
            }

            if (Entity.RouteList.Status == RouteListStatus.Delivered)
            {
                Entity.RouteList.CompleteRouteAndCreateTask(wageParameterService, callTaskWorker);
            }

            logger.Info("Сохраняем разгрузочный талон...");
            UoWGeneric.Save();
            logger.Info("Ok.");
            return(true);
        }