private async Task <DataBaseObjectProductFeature> SaveObjectProductFeature(
            DataBaseObjectProductFeature obj
            )
        {
            DataBaseObjectProductFeature result = null;

            using (var source = CreateDbContext())
            {
                if (obj.Id > 0)
                {
                    result = await source.ProductFeature
                             .FirstAsync(x => x.Id == obj.Id)
                             .CoreBaseExtTaskWithCurrentCulture(false);

                    var loader = new DataBaseLoaderProductFeature(result);

                    loader.LoadDataFrom(obj);
                }
                else
                {
                    var entity = DataEntityObjectProductFeature.Create(obj);

                    var entry = source.ProductFeature.Add(DataEntityObjectProductFeature.Create(obj));

                    result = entry.Entity;
                }

                await source.SaveChangesAsync().CoreBaseExtTaskWithCurrentCulture(false);
            }

            return(result);
        }
 private ModProductBaseCommonJobOptionItemGetOutput  CreateOptionProductFeature(
     DataEntityObjectProductFeature entity
     )
 {
     return(new ModProductBaseCommonJobOptionItemGetOutput
     {
         Name = entity.Name,
         Value = entity.Id
     });
 }