public IArticleResult AddWorkWeeksRealScheduleValue(TSeconds[] hoursWeek)
        {
            IArticleResultValues value = new WeekScheduleValue((ResultCode)ArticleResultCode.RESULT_VALUE_REAL_WEEKS_HOURS, hoursWeek);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddDeclarationSocialValue(Byte statement, WorkSocialTerms summarize, TAmountDec totalBase, Byte foreigner)
        {
            IArticleResultValues value = new DeclarationSocialValue(statement, summarize, totalBase, foreigner);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddMoneyTaxingBasisValue(TAmountDec basisRawly, TAmountDec basisRound, TAmountDec basisFinal)
        {
            IArticleResultValues value = new MoneyTaxingBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_TAXING_BASIS_MONEY, basisRawly, basisRound, basisFinal);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddTaxSolidaryBaseValue(TAmountDec solidaryBase)
        {
            IArticleResultValues value = new MoneyTaxingBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_TAXING_BASIS_MONEY, solidaryBase);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddMoneyTransferIncomeValue(TAmountDec incomeAmount)
        {
            IArticleResultValues value = new MoneyTransferIncomeValue((ResultCode)ArticleResultCode.RESULT_VALUE_TRANSFER_INCOME_MONEY, incomeAmount);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddMoneyInsuranceBasisValue(TAmountDec basisRawly, TAmountDec basisRound, TAmountDec basisCuter, TAmountDec aboveCuter, TAmountDec basisFinal)
        {
            IArticleResultValues value = new MoneyInsuranceBasisValue((ResultCode)ArticleResultCode.RESULT_VALUE_INSURANCE_BASIS_MONEY, basisRawly, basisRound, basisCuter, aboveCuter, basisFinal);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddContractFromStop(DateTime?dateFrom, DateTime?dateStop, WorkEmployTerms contractType)
        {
            IArticleResultValues value = new ContractFromStopValue(dateFrom, dateStop, contractType);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddMoneyPaymentValue(TAmountDec paymentAmount)
        {
            IArticleResultValues value = new MoneyPaymentValue((ResultCode)ArticleResultCode.RESULT_VALUE_PAYMENT_MONEY, paymentAmount);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddPositionFromStop(DateTime?dateFrom, DateTime?dateStop, WorkPositionType positionType)
        {
            IArticleResultValues value = new PositionFromStopValue(dateFrom, dateStop, positionType);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddMonthFromStop(TDay dayFrom, TDay dayStop)
        {
            IArticleResultValues value = new MonthFromStopValue(dayFrom, dayStop);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddWorkMonthRealScheduleValue(TSeconds[] hoursMonth)
        {
            IArticleResultValues value = new MonthScheduleValue((ResultCode)ArticleResultCode.RESULT_VALUE_REAL_MONTH_HOURS, hoursMonth);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddIncomeInsSocialValue(WorkSocialTerms summarize, TAmountDec related, TAmountDec exclude)
        {
            IArticleResultValues value = new IncomeInsSocialValue(summarize, related, exclude);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddDeclarationTaxingValue(Byte statement, WorkTaxingTerms summarize, Byte declaracy, Byte residency, TAmountDec healthSum, TAmountDec socialSum)
        {
            IArticleResultValues value = new DeclarationTaxingValue(statement, summarize, declaracy, residency, healthSum, socialSum);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
        public IArticleResult AddIncomeTaxGeneralValue(WorkTaxingTerms summarize, Byte statement, Byte residency,
                                                       TAmountDec general, TAmountDec lolevel, TAmountDec agrtask, TAmountDec partner, TAmountDec exclude)
        {
            IArticleResultValues value = new IncomeTaxGeneralValue(summarize, statement, residency, general, lolevel, agrtask, partner, exclude);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
Exemple #15
0
        public IResultValues GetPositionResult(IBookParty position)
        {
            var resultsList = __results.Where(x => ResultListUtils.IsEqualToPositionArticle(position, x.Key)).
                              Select(c => c.Value.Values()).ToArray();

            var partyResult = resultsList.DefaultIfEmpty(ResultValues.GetEmpty()).FirstOrDefault();

            return(partyResult);
        }
Exemple #16
0
        public IResultValues GetContractResult(ICodeIndex contract)
        {
            var resultsList = __results.Where(x => ResultListUtils.IsEqualToContractArticle(contract, x.Key)).
                              Select(c => c.Value.Values()).ToArray();

            var partyResult = resultsList.DefaultIfEmpty(ResultValues.GetEmpty()).FirstOrDefault();

            return(partyResult);
        }
        public IArticleResult AddMonthAttendanceScheduleValue(TDay dayFrom, TDay dayStop, TSeconds[] hoursMonth)
        {
            IArticleResultValues value = new MonthAttendanceValue(
                (ResultCode)ArticleResultCode.RESULT_VALUE_ATTN_MONTH_HOURS,
                dayFrom, dayStop, hoursMonth);

            ResultValues = ResultValues.Concat(value);

            return(this);
        }
Exemple #18
0
 public static IResultValues BuildEmptyResult()
 {
     return(ResultValues.GetEmpty());
 }
Exemple #19
0
 public SolarCalculatorResult()
 {
     results = new ResultValues();
 }
    private ResultValues get_value_consumable_info(IAssignableIdentity minion, GameObject widget_go)
    {
        ConsumableInfoTableColumn consumableInfoTableColumn = GetWidgetColumn(widget_go) as ConsumableInfoTableColumn;
        IConsumableUIItem         consumable_info           = consumableInfoTableColumn.consumable_info;
        TableRow     widgetRow = GetWidgetRow(widget_go);
        ResultValues result    = ResultValues.Partial;

        switch (widgetRow.rowType)
        {
        case TableRow.RowType.Header:
        {
            bool flag  = true;
            bool flag2 = true;
            bool flag3 = false;
            bool flag4 = false;
            foreach (KeyValuePair <TableRow, GameObject> item in consumableInfoTableColumn.widgets_by_row)
            {
                GameObject value = item.Value;
                if (!((UnityEngine.Object)value == (UnityEngine.Object)widget_go) && !((UnityEngine.Object)value == (UnityEngine.Object)null))
                {
                    switch (consumableInfoTableColumn.get_value_action(item.Key.GetIdentity(), value))
                    {
                    case ResultValues.False:
                        flag2 = false;
                        if (!flag)
                        {
                            flag4 = true;
                        }
                        break;

                    case ResultValues.Partial:
                        flag3 = true;
                        flag4 = true;
                        break;

                    case ResultValues.True:
                        flag = false;
                        if (!flag2)
                        {
                            flag4 = true;
                        }
                        break;
                    }
                    if (flag4)
                    {
                        break;
                    }
                }
            }
            result = (flag3 ? ResultValues.Partial : (flag2 ? ResultValues.True : ((!flag) ? ResultValues.Partial : ResultValues.False)));
            break;
        }

        case TableRow.RowType.Default:
            result = ((!ConsumerManager.instance.DefaultForbiddenTagsList.Contains(consumable_info.ConsumableId.ToTag())) ? ResultValues.True : ResultValues.False);
            break;

        case TableRow.RowType.Minion:
            if ((UnityEngine.Object)(minion as MinionIdentity) != (UnityEngine.Object)null)
            {
                ConsumableConsumer component = ((MinionIdentity)minion).GetComponent <ConsumableConsumer>();
                result = (component.IsPermitted(consumable_info.ConsumableId) ? ResultValues.True : ResultValues.False);
            }
            else
            {
                result = ResultValues.True;
            }
            break;

        case TableRow.RowType.StoredMinon:
            result = ((!((UnityEngine.Object)(minion as StoredMinionIdentity) != (UnityEngine.Object)null)) ? ResultValues.True : (((StoredMinionIdentity)minion).IsPermittedToConsume(consumable_info.ConsumableId) ? ResultValues.True : ResultValues.False));
            break;
        }
        return(result);
    }
Exemple #21
0
        public void Test(object sender, DoWorkEventArgs eventArgs)
        {
            var approxAlgorithm = new MaxCut2Approximation();
            var exactAlgorithm  = new MaxCutExact();

            TimeValues.Clear();
            ResultValues.Clear();

            var bw = sender as BackgroundWorker;

            var iterationsPerTest = (decimal)eventArgs.Argument;

            if (bw == null)
            {
                return;
            }

            var counter         = 0.0;
            var currentProgress = 0;

            var calculationsCount = (double)(Graphs.Count * iterationsPerTest);


            var sw = new Stopwatch();

            foreach (var g in Graphs)
            {
                TimeValues.Add(new TimePoint {
                    N = g.N
                });
                ResultValues.Add(new Result {
                    Graph = g
                });

                approxAlgorithm.InputGraph = g;
                exactAlgorithm.InputGraph  = g;

                var sumOfTimesForExact  = 0.0;
                var sumOfTimesForApprox = 0.0;


                for (var j = 0; j < iterationsPerTest; j++)
                {
                    if (TestExactAlgorithm)
                    {
                        sw.Restart();
                        //DO WORK EXACT ALGORITHM
                        exactAlgorithm.MaxCut();
                        //
                        sw.Stop();
                    }
                    ResultValues.Last().ExactCutSize = exactAlgorithm.CutSize;
                    ResultValues.Last().ExactSet     = exactAlgorithm.OutputSet;

                    if (TestExactAlgorithm)
                    {
                        sumOfTimesForExact += sw.Elapsed.TotalMilliseconds;
                    }

                    if (TestApproximatedAlgorithm)
                    {
                        sw.Restart();
                        //DO WORK APPROX ALGORITHM
                        approxAlgorithm.MaxCut();
                        //
                        sw.Stop();
                    }
                    ResultValues.Last().ApproximationCutSize = approxAlgorithm.CutSize;
                    ResultValues.Last().ApproximationSet     = approxAlgorithm.OutputSet;

                    if (TestApproximatedAlgorithm)
                    {
                        sumOfTimesForApprox += sw.Elapsed.TotalMilliseconds;
                    }

                    counter++;
                    var lastProgress = currentProgress;
                    currentProgress = (int)(100.0 * (counter / calculationsCount));
                    if (currentProgress != lastProgress)
                    {
                        bw.ReportProgress(currentProgress);
                    }
                }

                TimeValues.Last().ApproximationAlgorithmTime = sumOfTimesForApprox /
                                                               (double)iterationsPerTest;

                TimeValues.Last().ExactAlgorithmTime = sumOfTimesForExact /
                                                       (double)iterationsPerTest;
            }
        }
Exemple #22
0
 /// <summary>
 /// Выводит в консоль результат отправки сообщения
 /// </summary>
 /// <param name="id">Id получателя сообщения</param>
 /// <param name="result">результат отправки сообщения</param>
 public static void LogResult(int id, ResultValues result)
 {
     Log($"{id}\t\t{result}", ResultParams[result]);
 }
    private void set_value_consumable_info(GameObject widget_go, ResultValues new_value)
    {
        ConsumableConsumer consumableConsumer = null;
        IConsumableUIItem  consumableUIItem   = null;
        TableRow           widgetRow          = GetWidgetRow(widget_go);

        if ((UnityEngine.Object)widgetRow == (UnityEngine.Object)null)
        {
            Debug.LogWarning("Row is null");
        }
        else
        {
            ConsumableInfoTableColumn consumableInfoTableColumn = GetWidgetColumn(widget_go) as ConsumableInfoTableColumn;
            IAssignableIdentity       identity = widgetRow.GetIdentity();
            consumableUIItem = consumableInfoTableColumn.consumable_info;
            switch (widgetRow.rowType)
            {
            case TableRow.RowType.StoredMinon:
                break;

            case TableRow.RowType.Header:
                set_value_consumable_info(default_row.GetComponent <TableRow>().GetWidget(consumableInfoTableColumn), new_value);
                StartCoroutine(CascadeSetColumnCheckBoxes(sortable_rows, consumableInfoTableColumn, new_value, widget_go));
                break;

            case TableRow.RowType.Default:
                if (new_value == ResultValues.True)
                {
                    ConsumerManager.instance.DefaultForbiddenTagsList.Remove(consumableUIItem.ConsumableId.ToTag());
                }
                else
                {
                    ConsumerManager.instance.DefaultForbiddenTagsList.Add(consumableUIItem.ConsumableId.ToTag());
                }
                consumableInfoTableColumn.on_load_action(identity, widget_go);
                foreach (KeyValuePair <TableRow, GameObject> item in consumableInfoTableColumn.widgets_by_row)
                {
                    if (item.Key.rowType == TableRow.RowType.Header)
                    {
                        consumableInfoTableColumn.on_load_action(null, item.Value);
                        break;
                    }
                }
                break;

            case TableRow.RowType.Minion:
            {
                MinionIdentity minionIdentity = identity as MinionIdentity;
                if ((UnityEngine.Object)minionIdentity != (UnityEngine.Object)null)
                {
                    consumableConsumer = minionIdentity.GetComponent <ConsumableConsumer>();
                    if ((UnityEngine.Object)consumableConsumer == (UnityEngine.Object)null)
                    {
                        Debug.LogError("Could not find minion identity / row associated with the widget");
                    }
                    else
                    {
                        switch (new_value)
                        {
                        case ResultValues.True:
                        case ResultValues.ConditionalGroup:
                            consumableConsumer.SetPermitted(consumableUIItem.ConsumableId, true);
                            break;

                        case ResultValues.False:
                        case ResultValues.Partial:
                            consumableConsumer.SetPermitted(consumableUIItem.ConsumableId, false);
                            break;
                        }
                        consumableInfoTableColumn.on_load_action(widgetRow.GetIdentity(), widget_go);
                        foreach (KeyValuePair <TableRow, GameObject> item2 in consumableInfoTableColumn.widgets_by_row)
                        {
                            if (item2.Key.rowType == TableRow.RowType.Header)
                            {
                                consumableInfoTableColumn.on_load_action(null, item2.Value);
                                break;
                            }
                        }
                    }
                }
                break;
            }
            }
        }
    }