public BaseResult <Guid> Add(string tableName, IDictionary <string, string> fields)
        {
            var result = new BaseResult <Guid>();

            try
            {
                // todo: добавить проверку на наличие записи в таблице
                using (var db = contextCreator.Create())
                {
                    var recId = Guid.NewGuid();

                    if (tableName == "addrobj")
                    {
                        var item = new FiasAddressObject()
                        {
                            RecId          = recId,
                            RecName        = "",
                            RecDescription = "",
                            RecCreated     = DateTime.UtcNow,
                            RecUpdated     = DateTime.UtcNow,
                            RecState       = 1,
                            RecCode        = "",
                            RecCreatedBy   = "",
                            RecUpdatedBy   = "",

                            Aoguid     = Guid.Parse(fields["aoguid"]),
                            Aoid       = Guid.Parse(fields["aoid"]),
                            ParentGuid = Guid.Parse(fields["parentguid"]),

                            AoLevel = int.Parse(fields["aolevel"]),
                            DivType = int.Parse(fields["divtype"]),

                            ShortName  = fields["shortname"],
                            FormalName = fields["formalname"],
                            OffName    = fields["offname"],

                            AutoCode   = fields["autocode"],
                            AreaCode   = fields["areacode"],
                            CityCode   = fields["citycode"],
                            CtarCode   = fields["ctarcode"],
                            ExtrCode   = fields["extrcode"],
                            PlaceCode  = fields["placecode"],
                            PlainCode  = fields["plaincode"],
                            PlanCode   = fields["plancode"],
                            SextCode   = fields["sextcode"],
                            RegionCode = fields["regioncode"],
                            StreetCode = fields["streetcode"],
                            Code       = fields["code"],

                            ActStatus  = int.Parse(fields["actstatus"]),
                            CurrStatus = int.Parse(fields["currstatus"]),
                            CentStatus = int.Parse(fields["centstatus"]),
                            OperStatus = int.Parse(fields["operstatus"]),
                            LiveStatus = int.Parse(fields["livestatus"]),

                            CadNum     = fields["cadnum"],
                            PostalCode = fields["postalcode"],
                            NormDoc    = fields["normdoc"],

                            Okato = fields["okato"],
                            Oktmo = fields["oktmo"],

                            PrevId = Guid.Parse(fields["previd"]),
                            NextId = Guid.Parse(fields["nextid"]),

                            StartDate  = DateTime.Parse(fields["startdate"]),
                            EndDate    = DateTime.Parse(fields["enddate"]),
                            UpdateDate = DateTime.Parse(fields["updatedate"]),

                            IfnsFl     = fields["ifnsfl"],
                            IfnsUl     = fields["ifnsul"],
                            TerrIfnsFl = fields["terrifnsfl"],
                            TerrIfnsUl = fields["terrifnsul"]
                        };

                        db.AddressObjects.Add(item);
                    }
                    else if (tableName == "house")
                    {
                        var item = new FiasHouse()
                        {
                            RecId          = recId,
                            RecName        = "",
                            RecDescription = "",
                            RecCreated     = DateTime.UtcNow,
                            RecUpdated     = DateTime.UtcNow,
                            RecState       = 1,
                            RecCode        = "",
                            RecCreatedBy   = "",
                            RecUpdatedBy   = "",

                            IfnsFl     = fields["ifnsfl"],
                            IfnsUl     = fields["ifnsul"],
                            TerrIfnsFl = fields["terrifnsfl"],
                            TerrIfnsUl = fields["terrifnsul"],

                            Okato = fields["okato"],
                            Oktmo = fields["oktmo"],

                            StartDate  = DateTime.Parse(fields["startdate"]),
                            EndDate    = DateTime.Parse(fields["enddate"]),
                            UpdateDate = DateTime.Parse(fields["updatedate"]),

                            Aoguid = Guid.Parse(fields["aoguid"]),

                            CadNum     = fields["cadnum"],
                            PostalCode = fields["postalcode"],
                            RegionCode = fields["regioncode"],
                            NormDoc    = fields["normdoc"],

                            DivType = int.Parse(fields["divtype"]),

                            HouseId   = Guid.Parse(fields["houseid"]),
                            HouseGuid = Guid.Parse(fields["houseguid"]),

                            HouseNum  = fields["housenum"],
                            BuildNum  = fields["buildnum"],
                            StructNum = fields["structnum"],

                            EstStatus  = int.Parse(fields["eststatus"]),
                            StatStatus = int.Parse(fields["statstatus"]),
                            StrStatus  = int.Parse(fields["strstatus"]),

                            Counter = int.Parse(fields["counter"])
                        };

                        db.Houses.Add(item);
                    }

                    db.SaveChanges();

                    result.Success = true;
                    result.Data    = recId;
                }
            }
            catch (Exception ex)
            {
                result.Success = false;
                result.Message = $"Ошибка при попытке добавить запись в таблицу {tableName}. {ex.Message}.";
            }

            return(result);
        }