예제 #1
0
        private Account GetAccount()
        {
            AccountDto dto = Repositories.AccountRepository.GetByName(NameOption.GetValue(null));

            if (dto == null)
            {
                return(null);
            }
            return(DtoToModelTranslator.FromDto(dto, DateOption.GetValue(DateTime.Today), Repositories));
        }
예제 #2
0
        public FilterCriteria GetFilterCriteria()
        {
            FilterCriteria criteria = new FilterCriteria();

            //Id
            if (IdOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_ID.DisplayName, $"= {IdOption.GetValue(EMPTY_OPTION)}");
            }

            //Category
            if (CategoryIdOption.IsDataValid)
            {
                Account category = DtoToModelTranslator.FromDto(Repositories.AccountRepository.GetById(CategoryIdOption.GetValue(-1)), DateTime.Today, Repositories);

                criteria.AddField(Account.PROP_CATEGORY.DisplayName, $"= {category.Name}");
            }

            //Description
            if (DescriptionOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_DESCRIPTION.DisplayName, $"contains \"{DescriptionOption.GetValue(EMPTY_OPTION)}\"");
            }

            //Name
            if (NameOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_NAME.DisplayName, $"contains \"{NameOption.GetValue(EMPTY_OPTION)}\"");
            }

            //Priority
            if (PriorityOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_PRIORITY.DisplayName, $"= {PriorityOption.GetValue(EMPTY_OPTION)}");
            }

            //Funds
            if (FundsOption.IsDataValid)
            {
                criteria.AddField(AccountState.PROP_FUNDS.DisplayName, $"= {FundsOption.GetValue(EMPTY_OPTION)}");
            }

            //Account Type
            if (AccountTypeOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_ACCOUNT_KIND.DisplayName, $"= {AccountTypeOption.GetValue(EMPTY_OPTION)}");
            }

            return(criteria);
        }
예제 #3
0
        public FilterCriteria GetFilterCriteria()
        {
            FilterCriteria criteria = new FilterCriteria();

            //Name
            if (NameOption.IsDataValid)
            {
                criteria.AddField(Account.PROP_NAME.DisplayName, $"contains \"{NameOption.GetValue(EMPTY_OPTION)}\"");
            }

            //Priority
            if (DateOption.IsDataValid)
            {
                criteria.AddField("Date", $"= {DateOption.GetValue(EMPTY_OPTION)}");
            }

            return(criteria);
        }
예제 #4
0
        public static string Readable(long bytes, NameOption names = null)
        {
            if (names == null)
            {
                names = new NameOption();
            }

            if (bytes < 1)
            {
                return("empty");
            }

            if (bytes < 1024)
            {
                return($"{bytes} {Pluralize(bytes, names.Byte)}");
            }

            if (bytes < 1024 * 1024)
            {
                return($"{Floor(bytes / 1024d)} {names.KB}");
            }

            if (bytes < 1024 * 1024 * 1024)
            {
                return($"{Floor(bytes / (1024 * 1024d))} {names.MB}");
            }

            if (bytes < unchecked (1024L * 1024 * 1024 * 1024))
            {
                return($"{Floor(bytes / (1024 * 1024 * 1024d))} {names.GB}");
            }

            try
            {
                return($"{Floor(bytes / (1024 * 1024 * 1024 * 1024d))} {names.TB}");
            }
            catch (Exception)
            {
                // fallback
                return($"gazillion {names.GB}");
            }
        }
예제 #5
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            ProductVersion productVersion;

            if (!ParserFunctions.TryParseEnum <ProductVersion>(row.GetString("ProductVersion"), out productVersion, ProductVersion.BaseGame))
            {
                error = "ProductVersion missing";
                return(false);
            }

            if (!GameUtils.IsInstalled(productVersion))
            {
                return(true);
            }

            string module = row.GetString("Module");

            if ((!string.IsNullOrEmpty(module)) && (!Common.AssemblyCheck.IsInstalled(module)))
            {
                return(true);
            }

            // Must be after the product version checks, but before everything else
            if (!base.Parse(row, personality, ref error))
            {
                return(false);
            }

            if (!row.Exists("Scenario"))
            {
                error = "Scenario missing";
                return(false);
            }
            else if (!row.Exists("Weight"))
            {
                error = "Weight missing";
                return(false);
            }
            else if (!row.Exists("Name"))
            {
                error = "Name missing";
                return(false);
            }

            mName = new NameOption(row);

            Type classType = row.GetClassType("Scenario");

            if (classType == null)
            {
                error = "Scenario class not found";
                return(false);
            }

            int weight = row.GetInt("Weight");

            if (weight > 0)
            {
                mVisible = true;
            }
            else
            {
                weight = 1;

                if (!row.Exists("ShouldPush"))
                {
                    error = "ShouldPush missing";
                    return(false);
                }
            }

            SetValue(weight);

            try
            {
                mScenario = classType.GetConstructor(new Type[0]).Invoke(new object[0]) as Scenario;
            }
            catch
            {}

            if (mScenario == null)
            {
                error = "Scenario constructor fail";
                return(false);
            }

            mScenario.Manager = personality;

            if (!mScenario.Parse(row, ref error))
            {
                return(false);
            }

            if (!mScenario.PostParse(ref error))
            {
                return(false);
            }

            IViolentScenario violentScenario = mScenario as IViolentScenario;

            if ((violentScenario != null) && (violentScenario.IsViolent))
            {
                PushDeathChanceOption.Installed = true;
            }

            return(true);
        }
예제 #6
0
        private List <Account> GetAccounts()
        {
            var dtos = Repositories.AccountRepository.GetAccounts((long?)IdOption.GetValue(null), NameOption.GetValue(null), (long?)CategoryIdOption.GetValue(null), DescriptionOption.GetValue(null), PriorityOption.GetValue(null), (AccountKind?)AccountTypeOption.GetValue(null), FundsOption.GetValue(null), false);

            List <Account> accounts = new List <Account>();

            foreach (var dto in dtos)
            {
                accounts.Add(DtoToModelTranslator.FromDto(dto, DateTime.Today, Repositories));
            }
            return(accounts);
        }
예제 #7
0
        public override bool Parse(XmlDbRow row, SimPersonality personality, ref string error)
        {
            ProductVersion productVersion;
            if (!ParserFunctions.TryParseEnum<ProductVersion>(row.GetString("ProductVersion"), out productVersion, ProductVersion.BaseGame))
            {
                error = "ProductVersion missing";
                return false;
            }

            if (!GameUtils.IsInstalled(productVersion))
            {
                return true;
            }

            string module = row.GetString("Module");
            if ((!string.IsNullOrEmpty(module)) && (!Common.AssemblyCheck.IsInstalled(module)))
            {
                return true;
            }

            // Must be after the product version checks, but before everything else
            if (!base.Parse(row, personality, ref error)) return false;

            if (!row.Exists("Scenario"))
            {
                error = "Scenario missing";
                return false;
            }
            else if (!row.Exists("Weight"))
            {
                error = "Weight missing";
                return false;
            }
            else if (!row.Exists("Name"))
            {
                error = "Name missing";
                return false;
            }

            mName = new NameOption(row);

            Type classType = row.GetClassType("Scenario");
            if (classType == null)
            {
                error = "Scenario class not found";
                return false;
            }

            int weight = row.GetInt("Weight");

            if (weight > 0)
            {
                mVisible = true;
            }
            else
            {
                weight = 1;

                if (!row.Exists("ShouldPush"))
                {
                    error = "ShouldPush missing";
                    return false;
                }
            }

            SetValue (weight);

            try
            {
                mScenario = classType.GetConstructor(new Type[0]).Invoke(new object[0]) as Scenario;
            }
            catch
            {}

            if (mScenario == null)
            {
                error = "Scenario constructor fail";
                return false;
            }

            mScenario.Manager = personality;

            if (!mScenario.Parse(row, ref error))
            {
                return false;
            }

            if (!mScenario.PostParse(ref error))
            {
                return false;
            }

            IViolentScenario violentScenario = mScenario as IViolentScenario;
            if ((violentScenario != null) && (violentScenario.IsViolent))
            {
                PushDeathChanceOption.Installed = true;
            }

            return true;
        }