public static int GetSpecialByIdCopySpecial(int specialId) { if (specialId > 0) { SpecialInfo specialInfoById = GetSpecialInfoById(specialId); specialInfoById.SpecialName = StringHelper.CopyString(specialInfoById.SpecialName); specialInfoById.SpecialIdentifier = StringHelper.CopyStringNum(specialInfoById.SpecialIdentifier); specialInfoById.SpecialDir = StringHelper.CopyStringNum(specialInfoById.SpecialDir); while (ExistsSpecialName(specialInfoById.SpecialName)) { specialInfoById.SpecialName = StringHelper.CopyString(specialInfoById.SpecialName); } while (ExistsSpecialDir(specialInfoById.SpecialDir)) { specialInfoById.SpecialDir = StringHelper.CopyStringNum(specialInfoById.SpecialDir); specialInfoById.SpecialIdentifier = StringHelper.CopyStringNum(specialInfoById.SpecialIdentifier); } if (!AddSpecial(specialInfoById)) { return(0); } int maxSpecialId = dal.GetMaxSpecialId(); if (maxSpecialId > 0) { return(maxSpecialId); } } return(0); }