internal static importHouseUORequestApartmentHouseNonResidentialPremiseToCreate NonResPremiseCreate(PremisesDto premise)
        {
            var value = new importHouseUORequestApartmentHouseNonResidentialPremiseToCreate {
                PremisesNum      = premise.PremiseNumber,
                TotalArea        = !premise.TotalSquare.HasValue ? 0 : (decimal)premise.TotalSquare,
                IsCommonProperty = !premise.IsCommonProperty.HasValue? false: premise.IsCommonProperty.Value,
                TransportGUID    = premise.TransportGuid
            };

            value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
            value.Items            = new object[] { true };

            if (premise.HasNotRelation == false)
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.CadastralNumber };
                value.Items            = new object[] { premise.CadastrNumber };
            }
            else
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
                value.Items            = new object[] { true };
            }
            return(value);
        }
        internal static importHouseUORequestApartmentHouseNonResidentialPremiseToUpdate NonResPremiseUpdate(PremisesDto premise)
        {
            var value = new importHouseUORequestApartmentHouseNonResidentialPremiseToUpdate {
                PremisesGUID = premise.Guid,
                PremisesNum  = premise.PremiseNumber,

                TotalAreaSpecified = premise.TotalSquare == null ? false : true,
                TotalArea          = premise.TotalSquare == null ? 0 : (decimal)premise.TotalSquare,

                IsCommonPropertySpecified = premise.IsCommonProperty == null ? false : true,
                IsCommonProperty          = premise.IsCommonProperty == null ? false : (bool)premise.IsCommonProperty,

                TerminationDateSpecified = false,

                TransportGUID = premise.TransportGuid
            };

            value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
            value.Items            = new object[] { true };

            if (premise.HasNotRelation == false)
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.CadastralNumber };
                value.Items            = new object[] { premise.CadastrNumber };
            }
            else
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
                value.Items            = new object[] { true };
            }
            return(value);
        }
        internal static importHouseUORequestApartmentHouseResidentialPremisesResidentialPremisesToUpdate ResPremiseUpdate(PremisesDto premise)
        {
            if (premise.PremiseCharacteristic == null)
            {
                throw new ArgumentException("Не указана характеристика помещения");
            }

            var value = new importHouseUORequestApartmentHouseResidentialPremisesResidentialPremisesToUpdate {
                Item        = (string.IsNullOrEmpty(premise.EntranceNum) ? (object)true : premise.EntranceNum),
                Item1       = (premise.GrossArea == null ? (object)true : (decimal)premise.GrossArea),
                PremisesNum = premise.PremiseNumber,

                PremisesGUID = premise.Guid,

                TotalAreaSpecified = (premise.TotalSquare == null ? false : true),
                TotalArea          = (premise.TotalSquare == null ? 0 : (decimal)premise.TotalSquare),

                PremisesCharacteristic = new nsiRef {
                    Code = premise.PremiseCharacteristic.Code,
                    GUID = premise.PremiseCharacteristic.Guid
                },

                TerminationDateSpecified = false,
                TransportGUID            = premise.TransportGuid
            };


            value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
            value.Items            = new object[] { true };

            if (premise.HasNotRelation == false)
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.CadastralNumber };
                value.Items            = new object[] { premise.CadastrNumber };
            }
            else
            {
                value.ItemsElementName = new ItemsChoiceType5[] { ItemsChoiceType5.No_RSO_GKN_EGRP_Registered };
                value.Items            = new object[] { true };
            }
            return(value);
        }