public virtual Prozhivanie CheckProzhivanie(Prozhivanie UpdatedObject)
        {
            // *** Start programmer edit section *** (CatalogsBS.CheckProzhivanie Iis.Eais.Catalogs.Prozhivanie method implementation)
            if (UpdatedObject.Territoriia == null)
            {
                throw new Exception("Территория не указана");
            }

            if (UpdatedObject == null)
            {
                throw new Exception("UpdatedObject равен null");
            }

            var lcs   = LoadingCustomizationStruct.GetSimpleStruct(typeof(Prozhivanie), Prozhivanie.Views.ProzhivanieE);
            var funcs = new List <Function>();

            funcs.Add(FunctionBuilder.BuildEquals <Prozhivanie>(p => p.Territoriia, UpdatedObject.Territoriia));

            funcs.Add(UpdatedObject.Ulitca == null
                ? FunctionBuilder.BuildIsNull <Prozhivanie>(p => p.Ulitca)
                : FunctionBuilder.BuildEquals <Prozhivanie>(p => p.Ulitca, UpdatedObject.Ulitca));

            funcs.Add(UpdatedObject.Kvartira == null
                ? FunctionBuilder.BuildIsNull <Prozhivanie>(p => p.Kvartira)
                : FunctionBuilder.BuildEquals <Prozhivanie>(p => p.Kvartira, UpdatedObject.Kvartira));

            funcs.Add(UpdatedObject.NomerStroeniia == null
                ? FunctionBuilder.BuildIsNull <Prozhivanie>(p => p.NomerStroeniia)
                : FunctionBuilder.BuildEquals <Prozhivanie>(p => p.NomerStroeniia, UpdatedObject.NomerStroeniia));

            funcs.Add(FunctionBuilder.BuildEquals <Prozhivanie>(x => x.NomerDoma, UpdatedObject.NomerDoma));

            lcs.LimitFunction = FunctionBuilder.BuildAnd(funcs);
            lcs.ReturnTop     = 1;
            var dobj = DataService.LoadObjects(lcs).Cast <Prozhivanie>();

            return(dobj.FirstOrDefault());
            // *** End programmer edit section *** (CatalogsBS.CheckProzhivanie Iis.Eais.Catalogs.Prozhivanie method implementation)
        }
Exemple #2
0
        /// <summary>
        /// Получить адрес строкой.
        /// </summary>
        // *** Start programmer edit section *** (Prozhivanie.AdresStrokoi CustomAttributes)
        private string ПолучитьАдресСтрокой(Prozhivanie адрес)
        {
            if (адрес == null || адрес.GetStatus() == ObjectStatus.Created)
            {
                return("");
            }
            string адр = "";

            if (!адрес.CheckLoadedProperty("Territoriia") || !адрес.CheckLoadedProperty("Ulitca") ||
                !адрес.CheckLoadedProperty("PochtIndeks") || !адрес.CheckLoadedProperty("NomerDoma") ||
                !адрес.CheckLoadedProperty("NomerStroeniia") || !адрес.CheckLoadedProperty("Kvartira"))
            {
                DataServiceProvider.DataService.LoadObject(адрес);
            }
            Territoriia тер = адрес.Territoriia;

            if (!тер.CheckLoadedProperty("Ierarhiia") || !тер.CheckLoadedProperty("GorRaion") || !тер.CheckLoadedProperty("VidObekta") ||
                !тер.CheckLoadedProperty("Naimenovanie"))
            {
                DataServiceProvider.DataService.LoadObject(тер);
            }

            System.Collections.ArrayList arl = new System.Collections.ArrayList();
            while (тер.Ierarhiia != null)
            {
                if (тер.GorRaion != tLogicheskii.Da)
                {
                    arl.Add(тер);
                }
                тер = тер.Ierarhiia;
                if (!тер.CheckLoadedProperty("Ierarhiia") || !тер.CheckLoadedProperty("GorRaion") || !тер.CheckLoadedProperty("VidObekta") ||
                    !тер.CheckLoadedProperty("Naimenovanie"))
                {
                    DataServiceProvider.DataService.LoadObject(тер);
                }
            }
            arl.Add(тер);
            Array ar = arl.ToArray();

            for (int i = ar.Length - 1; i >= 0; i--)
            {
                тер = (Territoriia)ar.GetValue(i);
                if (ar.Length == 1)
                {
                    адр = тер.Naimenovanie + (тер.VidObekta == null ? "" : " " + тер.VidObekta.ToLower()) + "., " + адрес.PochtIndeks;
                }
                else
                {
                    if (i == 0)
                    {
                        адр = (адр == "" ? "" : адр + ", ") + адрес.PochtIndeks + ", " + (тер.VidObekta == null ? "" : тер.VidObekta.ToLower() + ". ") + тер.Naimenovanie;
                    }
                    else
                    if (тер.Naimenovanie == "Россия")
                    {
                        адр = "";
                    }
                    else
                    {
                        адр = (адр == "" ? "" : адр + ", ") + тер.Naimenovanie + (тер.VidObekta == null ? "" : " " + тер.VidObekta.ToLower());
                    }
                }
            }
            if (адрес.Ulitca != null)
            {
                Ulitca ул = адрес.Ulitca;
                if (!ул.CheckLoadedProperty("VidObekta") || !ул.CheckLoadedProperty("Naimenovanie"))
                {
                    DataServiceProvider.DataService.LoadObject(ул);
                }
                var           видУлицы = ул.VidObekta.ToLower();
                List <string> видыУлицНеСтавитьТочку = new List <string> {
                    "пр-кт", "проезд", "переулок", "городок", "заезд", "проулок", "тракт"
                };
                видУлицы = (видыУлицНеСтавитьТочку.IndexOf(видУлицы) < 0 ? видУлицы + ". " : видУлицы + " ");
                адр      = адр + ", " + (ул.VidObekta == null ? "" : видУлицы) + ул.Naimenovanie;
            }
            адр = адр + (адрес.NomerDoma == 0 ? "" : ", д. " + адрес.NomerDoma.ToString());
            адр = адр + (адрес.NomerStroeniia == null ? "" : "/" + адрес.NomerStroeniia);
            адр = адр + (адрес.Kvartira == null ? "" : ", кв. " + адрес.Kvartira);
            return(адр);
        }