Example #1
0
        // *** Start programmer edit section *** (Buildings CustomMembers)
        /// <summary>
        /// CalculateSumArea - метод, который пересчитывает и записывает в базу данных сумму занимаемой площади всеми объектами теплопотребления для данного здания.
        /// PKbuild - PrimaryKey здания, для которого надо пересчитать
        /// </summary>
        public static void CalculateSumArea(string PKbuild, ObjectsHeat oh)
        {
            var ldef = SQLWhereLanguageDef.LanguageDef;

            ICSSoft.STORMNET.Business.LoadingCustomizationStruct lcs = ICSSoft.STORMNET.Business.LoadingCustomizationStruct.GetSimpleStruct(typeof(ObjectsHeat), "ObjectsHeatE");
            lcs.LimitFunction = ldef.GetFunction(ldef.funcSQL, "Buildings = \'{0}\'", PKbuild);
            ICSSoft.STORMNET.DataObject[] objs = ICSSoft.STORMNET.Business.DataServiceProvider.DataService.LoadObjects(lcs);
            double sumArea = 0.0;

            foreach (ObjectsHeat el in objs)
            {
                if (!el.__PrimaryKey.ToString().Equals(oh.__PrimaryKey.ToString()))
                {
                    sumArea += el.Area;
                }
            }
            sumArea += oh.Area;
            try
            {
                var ds = (SQLDataService)DataServiceProvider.DataService;
                var b  = new Buildings();
                b.SetExistObjectPrimaryKey(PKbuild);
                ds.LoadObject(b);
                b.SumArea = sumArea;
                ds.UpdateObject(b);
            }
            catch (Exception e)
            {
                throw new Exception("Ошибка: " + Environment.NewLine + e.Message);
            }
        }
        // *** Start programmer edit section *** (SectionNets CustomMembers)
        /// <summary>
        /// CheckUnNumer - метод проверки уникальности номера участка сети.
        /// Возврат true - номер уникальный, false - номер НЕ уникальный.
        /// NumerSN - номер введенный пользователем.
        /// NameSN - имя/имена участков у которого(-ых) записан данный проверяемый номер.
        /// </summary>
        public static bool CheckUnNumer(int NumerSN, ref string NameSN)
        {
            var ldef = SQLWhereLanguageDef.LanguageDef;

            ICSSoft.STORMNET.Business.LoadingCustomizationStruct lcs = ICSSoft.STORMNET.Business.LoadingCustomizationStruct.GetSimpleStruct(typeof(SectionNets), "SectionNetsE");
            lcs.LimitFunction = ldef.GetFunction(ldef.funcSQL, "NumerSectionNet= \'{0}\'", NumerSN.ToString());
            ICSSoft.STORMNET.DataObject[] objs = ICSSoft.STORMNET.Business.DataServiceProvider.DataService.LoadObjects(lcs);
            if (objs.Length > 0)
            {
                foreach (SectionNets el in objs)
                {
                    NameSN += $" {el.NameSectionNet}";
                }
                return(false);
            }
            return(true);
        }