private bool IsTrustSpecialCase(PackStatus packStatus, AdditionalChecks additionalChecks, AmountOfStockSubmited amountOfStockSubmited, NumberOfChecks numberOfChecks, CumYesIs cumChecks)
 {
     return(packStatus == PackStatus.Simple &&
            additionalChecks == AdditionalChecks.HasTrust &&
            amountOfStockSubmited == AmountOfStockSubmited.LessOrEqualThanThereIsOnPack &&
            cumChecks == CumYesIs.NotChecked);
 }
Ejemplo n.º 2
0
 private void doPack(DataReceivedEventArgs e)
 {
     if (e.Data != null)
     {
         PackStatus.Invoke(new updateText(update_packStatus), new object[] { e.Data.ToString() });
     }
 }
Ejemplo n.º 3
0
        private static void HandleTrustExistanceSpecialCase(PackStatus packStatus, AdditionalChecks additionalChecks, AmountOfStockSubmited amountOfStockSubmited, NumberOfChecks numberOfChecks)
        {
            var chain1 = GraphProvider.GetQSimpleQSepAndHierSubQTableRuleChain(null, null,
                                                                               () => packStatus,
                                                                               () => true,
                                                                               () => amountOfStockSubmited,
                                                                               () => numberOfChecks,
                                                                               () => additionalChecks,
                                                                               () => false
                                                                               );

            Assert.That(RuleChainFulfilledResoveHelper.RuleChainIsFulfilled(chain1), Is.EqualTo(true));


            var chain2 = GraphProvider.GetQSimpleQSepAndHierSubQTableRuleChain(null, null,
                                                                               () => packStatus,
                                                                               () => false,
                                                                               () => amountOfStockSubmited,
                                                                               () => numberOfChecks,
                                                                               () => additionalChecks,
                                                                               () => false
                                                                               );

            Assert.That(RuleChainFulfilledResoveHelper.RuleChainIsFulfilled(chain2), Is.EqualTo(false));
        }
 private static bool IsTrustSpecialCase(PackStatus packStatus, AdditionalChecks additionalChecks, AmountOfStockSubmited amountOfStockSubmited, NumberOfChecks numberOfChecks)
 {
     //—пециальный случай дл¤ проверки наличи¤ доверенности
     return(packStatus == PackStatus.Simple &&
            additionalChecks == AdditionalChecks.HasTrust &&
            amountOfStockSubmited == AmountOfStockSubmited.LessOrEqualThanThereIsOnPack &&
            numberOfChecks == NumberOfChecks.Single);
 }
Ejemplo n.º 5
0
 private void update_packStatus(string value)
 {
     if (value != "")
     {
         PackStatus.AppendText("> " + value + "\n");
     }
     if (value == "Done")
     {
         PackStatus.Text = ("> " + value + "\n");
     }
 }
 public string GetErrorTextFor(PackStatus packStatus, AdditionalChecks additionalChecks, AmountOfStockSubmited amountOfStockSubmited, NumberOfChecks numberOfChecks, CumYesIs cumChecks, bool trustExists)
 {
     return
         (GetIsValidationResultFor(packStatus,
                                   additionalChecks,
                                   amountOfStockSubmited,
                                   numberOfChecks,
                                   cumChecks,
                                   trustExists)
          .ErrorText);
 }
 // Важно! Для корректной работы, если не указаны голоса для варианта "ЗА" всегда amountOfStockSubmited должно
 // быть равно VotesArentSubmited, иначе могут случиться неприятности в случае NumberOfChecks.Multiple, когда
 // выбран вариант "ЗА" без указания голосов и "ПРОТИВ" с указанием ("ЗА" всегда должен иметь количество голосов
 // указанным).
 public bool GetIsFulfilledFor(PackStatus packStatus, AdditionalChecks additionalChecks, AmountOfStockSubmited amountOfStockSubmited, NumberOfChecks numberOfChecks, CumYesIs cumChecks, bool trustExists)
 {
     return
         (GetIsValidationResultFor(packStatus,
                                   additionalChecks,
                                   amountOfStockSubmited,
                                   numberOfChecks,
                                   cumChecks,
                                   trustExists)
          .IsFullfilled);
 }
        private ValidationResult GetValidationResultFor(PackStatus packStatus,
                                                        AdditionalChecks additionalChecks,
                                                        AmountOfStockSubmited amountOfStockSubmited,
                                                        NumberOfChecks numberOfChecks,
                                                        bool trustExists)
        {
            var ammountOfStockSubmitedIsNoMorethatThereIsOnPack = AmmountOfStockSubmitedIsNoMorethatThereIsOnPack(amountOfStockSubmited);

            if (!ammountOfStockSubmitedIsNoMorethatThereIsOnPack.IsFullfilled)
            {
                return(ammountOfStockSubmitedIsNoMorethatThereIsOnPack);
            }


            var multipleChecksArentSelectedIfVotesArentSubmited = MultipleChecksArentSelectedIfVotesArentSubmited(amountOfStockSubmited, numberOfChecks);

            if (!multipleChecksArentSelectedIfVotesArentSubmited.IsFullfilled)
            {
                return(multipleChecksArentSelectedIfVotesArentSubmited);
            }

            if (IsTrustSpecialCase(packStatus, additionalChecks, amountOfStockSubmited, numberOfChecks))
            {
                return(IsAllowedTrustSpecialCase(trustExists));
            }

            if (packStatus == PackStatus.Simple)
            {
                return(IsSimpleAllowedCase(additionalChecks, amountOfStockSubmited));
            }

            if (packStatus == PackStatus.Seller)
            {
                return(BuyerAndSellerAllowedCasesHelper.IsSellerAllowedCase(additionalChecks, amountOfStockSubmited));
            }

            if (packStatus == PackStatus.Buyer)
            {
                return(BuyerAndSellerAllowedCasesHelper.IsBuyerAllowedCase(additionalChecks, amountOfStockSubmited));
            }

            throw new NotSupportedException("“ип " + packStatus + " не поддерживаетс¤.");
        }
Ejemplo n.º 9
0
 private void Pack_DoWork(object sender, DoWorkEventArgs ed)
 {
     System.Diagnostics.Process PackProccess;
     PackProccess = new System.Diagnostics.Process();
     PackProccess.StartInfo.UseShellExecute        = false;
     PackProccess.StartInfo.RedirectStandardOutput = true;
     PackProccess.StartInfo.RedirectStandardInput  = true;
     PackProccess.StartInfo.FileName       = "cmd";
     PackProccess.StartInfo.CreateNoWindow = true;
     PackProccess.OutputDataReceived      += (s, e) => doPack(e);
     TogglePack(false);
     PackProccess.Start();
     PackProccess.BeginOutputReadLine();
     PackProccess.StandardInput.WriteLine("@.\\app\\node .\\app\\main.js pack \"" + UnPackedtxbx.Text + "\" \"" + CompressToTxtbx.Text + "\"");
     PackProccess.StandardInput.WriteLine("@exit");
     PackProccess.StandardInput.Flush();
     PackProccess.WaitForExit();
     PackStatus.Invoke(new updateText(update_packStatus), new object[] { "Done" });
     TogglePack(true);
     PackProccess.Close();
 }
Ejemplo n.º 10
0
        public static ManualBulletinScreenModel Create(List <Question> questions, List <Signature> signatures = null, FractionLong?allowedVotesAmount = null, PackStatus packStatus = null, bool trustExists = false, bool packetIsRegistered = true)
        {
            if (packStatus == null)
            {
                packStatus = PackStatus.Simple;
            }

            var additionalMarks = GetAdditionalMarks();

            var packetIsRegisteredCheckBoxField = Fields.CheckBoxDocField(packetIsRegistered);

            const int  doesntMatter  = 1;
            const bool doesntMatter2 = false;
            var        doesntMatter3 = new List <int>();
            var        doesntMatter4 = string.Empty;
            var        doesntMatter5 = EditorMode.BulletinsOperator;
            int        doesntMatter6 = 1;

            if (signatures == null)
            {
                signatures = new List <Signature>();
            }

            var result = new ManualBulletinScreenModel(new ObservableCollection <Question>(questions), signatures, additionalMarks, doesntMatter, doesntMatter3,
                                                       doesntMatter4,
                                                       packetIsRegisteredCheckBoxField, doesntMatter2,
                                                       doesntMatter5, doesntMatter2, doesntMatter6, packStatus,
                                                       trustExists, false);

            result.Questions.ForEach(q => q.AllowedVotesAmountFractions = new List <FractionLong> {
                allowedVotesAmount ?? 0.FL()
            });
            return(result);
        }
Ejemplo n.º 11
0
 private static void UpdatePackStatus(Entities.Pack aPack, CommonEntitiesManager dbent, PackStatus newStatus, string message)
 {
     aPack.Stamp = DateTime.Now;
     aPack.PackStatusCode = (int)newStatus;
     aPack.Result = message != null ? aPack.Result +"\n"+ message : aPack.Result;
     dbent.SaveChanges();
 }
Ejemplo n.º 12
0
        public void PaidShipment(UnitOfWork uow, string refNo)
        {
            if (SalesOrderLine.OrderStatus != SalesOrderLine.SalesOrderStatus.Active)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("不能过帐, 因为销售单 {0} 的状态不是 Active", SalesOrderLine.OrderLineIndex));
                return;
            }

            if (Status == PackStatus.Complete)
            {
                _PaidRefNo = refNo.Trim();
                OnChanged("PaidRefNo");
                _PaidBy = base.CurrentUser;
                OnChanged("PaidBy");
                _PaidDate = ServerHelper.GetCurrentDateTime();
                OnChanged("PaidDate");

                _Status = PackStatus.Paid ;
                OnChanged("Status");
                Save();
            }
        }
Ejemplo n.º 13
0
        public void CompleteShipment()
        {
            if (SalesOrderLine.OrderStatus != SalesOrderLine.SalesOrderStatus.Active)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("不能过帐, 因为销售单 {0} 的状态不是 Active", SalesOrderLine.OrderLineIndex));
                return;
            }

            if (_Status == PackStatus.Active)
            {
                _Status = PackStatus.Complete;
                OnChanged("Status");

                _ShippedBy = base.CurrentUser;
                OnChanged("ShippedBy");
                _ShippedDate = ServerHelper.GetCurrentDateTime();
                OnChanged("ShippedDate");

                _PaidDueDate = _ShippedDate.AddDays(SalesOrderLine.SalesOrder.Customer.PayTerm);
                OnChanged("PaidDueDate");

                SalesOrderLine.UpdateShipQty();
                SalesOrderLine.Save();
            }
        }
Ejemplo n.º 14
0
        // For CM Order
        public void ChangeStatusToReady()
        {
            if (Status == PackStatus.Waiting)
            {
                _Status = PackStatus.Ready;
                OnChanged("Status");

                _ReadyBy = base.CurrentUser;
                OnChanged("ReadyBy");
                _ReadyDate = ServerHelper.GetCurrentDateTime();
                OnChanged("ReadyDate");

                SalesOrderLine.UpdateShipQty();
                SalesOrderLine.Save();
            }
        }
Ejemplo n.º 15
0
        public void CancelShipment(UnitOfWork uow)
        {
            _CancelledBy = base.CurrentUser;
            OnChanged("CancelledBy");
            _CancelledDate = ServerHelper.GetCurrentDateTime();
            OnChanged("CancelledDate");
            _Status = PackStatus.Cancel;
            OnChanged("Status");
            Save();

            SalesOrderLine.UpdateShipQty();
            SalesOrderLine.Save();
        }
Ejemplo n.º 16
0
        public void AddPackedQty(float pQty)
        {
            if (Status != PackStatus.Ready)
            {
                throw new Exception("此单的状态并非'Ready'");
            }

            if (Qty < _PackedQty + pQty)
            {
                throw new Exception("已包装数大于数量");
            }

            _PackedQty = _PackedQty + pQty;
            OnChanged("PackedQty");

            if (Qty == _PackedQty)
            {
                _Status = PackStatus.Active;
                OnChanged("Status");

                _PackedBy = base.CurrentUser;
                OnChanged("PackedBy");
                _PackedDate = ServerHelper.GetCurrentDateTime();
                OnChanged("PackedDate");
            }
        }