本文整理汇总了C#中GenericRepository.SaveAsyc方法的典型用法代码示例。如果您正苦于以下问题:C# GenericRepository.SaveAsyc方法的具体用法?C# GenericRepository.SaveAsyc怎么用?C# GenericRepository.SaveAsyc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GenericRepository
的用法示例。
在下文中一共展示了GenericRepository.SaveAsyc方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SaveArticle
public static async Task SaveArticle(ArticleModel model, ISqliteService service)
{
CleanUp(model);
var articleGenericRepository = new GenericRepository<ArticleModel, ArticleEntity>(service);
await articleGenericRepository.SaveAsyc(model);
if (model.AfterSaveFunc != null)
{
var func = model.AfterSaveFunc;
model.AfterSaveFunc = null;
await func();
}
}
示例2: SaveArticleLeadImage
public static async Task SaveArticleLeadImage(ArticleModel model, ISqliteService service, bool skipCleaning = false)
{
var imageContentGenericRepository = new GenericRepository<ImageContentModel, ImageContentEntity>(service);
List<ContentEntity> oldLeadImages = null;
var articleId = model.GetId();
if (!skipCleaning)
oldLeadImages = (await service.GetByCondition<ContentEntity>(e => e.ParentId == articleId && e.ContentType == (int)ContentType.LeadImage, null, false, 0, 0)).ToList();
if (model.LeadImage != null)
{
if (model.LeadImage.GetId() != 0)
{
var leadImageId = model.LeadImage.GetId();
var oldLeadImage = oldLeadImages?.FirstOrDefault(o => o.ContentId == leadImageId);
if (oldLeadImage != null)
oldLeadImages?.Remove(oldLeadImage);
await imageContentGenericRepository.SaveAsyc(model.LeadImage);
}
else
{
await imageContentGenericRepository.SaveAsyc(model.LeadImage);
var entity = new ContentEntity
{
ContentId = model.LeadImage.GetId(),
ParentId = model.GetId(),
Index = 0,
ContentType = (int)ContentType.LeadImage
};
await service.Add(entity);
}
}
if (!skipCleaning)
await service.DeleteAllById<ContentEntity>(oldLeadImages.Select(d => d.Id));
}
示例3: SaveArticleContent
public static async Task SaveArticleContent(ArticleModel model, ISqliteService service, bool skipCleaning = false)
{
var imageContentGenericRepository = new GenericRepository<ImageContentModel, ImageContentEntity>(service);
var textContentGenericRepository = new GenericRepository<TextContentModel, TextContentEntity>(service);
var galleryContentGenericRepository = new GenericRepository<GalleryContentModel, GalleryContentEntity>(service);
var supportedContents = new[] { (int)ContentType.Text, (int)ContentType.Gallery, (int)ContentType.Image };
List<ContentEntity> oldModels = null;
if (!skipCleaning)
{
var id = model.GetId();
oldModels = (await service.GetByCondition<ContentEntity>(e => e.ParentId == id, null, false, 0, 0)).ToList();
oldModels = oldModels.Where(e => supportedContents.Any(s => s == e.ContentType)).ToList();
}
for (int i = 0; i < model.Content.Count; i++)
{
var baseContentModel = model.Content[i];
ContentEntity entity = null;
if (!skipCleaning)
{
entity = oldModels.FirstOrDefault(m => m.ContentId == baseContentModel.GetId());
oldModels.Remove(entity);
}
if (entity == null)
entity = new ContentEntity();
if (baseContentModel is TextContentModel)
{
var text = (TextContentModel)baseContentModel;
text.ContentJson = JsonConvert.SerializeObject(text.Content);
await textContentGenericRepository.SaveAsyc(text);
entity.ContentType = (int)ContentType.Text;
}
else if (baseContentModel is ImageContentModel)
{
var image = (ImageContentModel)baseContentModel;
if (image.Text != null)
{
await textContentGenericRepository.SaveAsyc(image.Text);
image.TextContentId = image.Text.GetId();
}
await imageContentGenericRepository.SaveAsyc(image);
entity.ContentType = (int)ContentType.Image;
}
else if (baseContentModel is GalleryContentModel)
{
var gallery = (GalleryContentModel)baseContentModel;
if (gallery.Text != null)
{
await textContentGenericRepository.SaveAsyc(gallery.Text);
gallery.TextContentId = gallery.Text.GetId();
}
await galleryContentGenericRepository.SaveAsyc(gallery);
for (int index = 0; index < gallery.Images.Count; index++)
{
gallery.Images[index].GalleryId = gallery.GetId();
gallery.Images[index].GalleryIndex = index;
if (gallery.Images[index].Text != null)
{
await textContentGenericRepository.SaveAsyc(gallery.Images[index].Text);
gallery.Images[index].TextContentId = gallery.Images[index].Text.GetId();
}
await imageContentGenericRepository.SaveAsyc(gallery.Images[index]);
}
entity.ContentType = (int)ContentType.Gallery;
}
else
{
continue;
}
entity.ContentId = baseContentModel.GetId();
entity.ParentId = model.GetId();
entity.Index = i;
if (entity.Id == 0)
await service.Add(entity);
else
await service.Update(entity);
}
if (!skipCleaning && oldModels != null)
foreach (var contentEntity in oldModels)
{
await service.DeleteById<ContentEntity>(contentEntity.Id);
}
}