public virtual bool Delete(Expression <Func <T, bool> > filter) { var isCommitted = false; Guid?entityId = null; try { using (var uow = new Dota2UnitofWork()) { var repository = Repository.SetContext(uow.Context); var existingEntity = repository.Get(filter, repository.GetAllIncludes()); entityId = existingEntity?.Id; if (!repository.Delete(existingEntity)) { throw new Exception(string.Format("{0} Delete Exception", repository.GetType().Name)); } isCommitted = uow.Commit(); } } catch (Exception ex) { Log.Save(new Log(ex.Message, entityId: entityId?.ToString())); } return(isCommitted); }
public bool Any(Expression <Func <T, bool> > filter = null) { using (var uow = new Dota2UnitofWork()) { return(Repository.SetContext(uow.Context).Any(filter)); } }
public override void ConvertToPersistent(Language disconnectedEntity, Language persistent = null, Func <Language> populatePersistent = null) { populatePersistent = () => { using (var uow = new Dota2UnitofWork()) { var repository = new LanguageRepository(uow.Context); return(repository.Select(repository.UniqueFilter(disconnectedEntity), repository.GetAllIncludes()) .Select(q => new { q.Id, q.Name }) .ToList() .Select(ql => new Language() { Id = ql.Id, Name = ql.Name }) .SingleOrDefault()); } }; persistent = persistent ?? populatePersistent(); if (persistent == null) { return; } base.ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); }
public static void Save(Log log) { Task <bool> t = new Task <bool>(new Func <bool>(() => { Thread.Sleep(2000 - DateTime.Now.Millisecond); //MsSqlConnection connection = new MsSqlConnection(); //return SqlManager.ExecuteNonQuery("insert into Log (LogType,Category,Name,Description,EntityId,AddedDate,ModifiedDate,IsActive)" // + " values(@LogType,@Category,@Name,@Description,@EntityId,@AddedDate,@ModifiedDate,1)", // new Dictionary<string, object>() // { // { "@LogType", log.LogType }, // { "@Category",log.Category }, // { "@Name", log.Name }, // { "@Description", log.Description.Replace("'"," ") }, // { "@EntityId", log.EntityId ?? (object)DBNull.Value }, // { "@AddedDate", DateTime.Now }, // { "@ModifiedDate", DateTime.Now } // }) == 1; using (var uow = new Dota2UnitofWork()) { uow.Load <Log>().Create(log); return(uow.Commit()); } })); t.Start(); }
public bool Create(T entity) { var isCommitted = false; using (var uow = new Dota2UnitofWork()) { Repository.SetContext(uow.Context).Create(entity); isCommitted = uow.Commit(); } return(isCommitted); }
public List <T> Select(Expression <Func <T, bool> > filter = null, params string[] includes) { List <T> results = new List <T>(); using (var uow = new Dota2UnitofWork()) { uow.Context.Configuration.ProxyCreationEnabled = Repository.ProxyCreationEnabled; results = Repository.SetContext(uow.Context) .Select(filter, includes) .ToList(); } return(results); }
public T Get(Expression <Func <T, bool> > filter, params string[] includes) { T entity = null; using (var uow = new Dota2UnitofWork()) { entity = uow.Load <T>().Get(filter, includes); uow.Load <T>().ShowChangeTrackerEntriesStates(); uow.Commit(); } return(entity); }
public bool Update(T entity) { var isCommitted = false; using (var uow = new Dota2UnitofWork()) { if (!Repository.SetContext(uow.Context).Update(entity)) { return(false); } isCommitted = uow.Commit(); } return(isCommitted); }
public override void ConvertToPersistent(Localization disconnectedEntity, Localization persistent = null, Func <Localization> populatePersistent = null) { populatePersistent = () => { using (var uow = new Dota2UnitofWork()) { var repository = new LocalizationRepository(uow.Context); return(repository.Select(repository.UniqueFilter(disconnectedEntity), repository.GetAllIncludes()) .Select(q => new { q.Id, q.BaseObjectId, q.LanguageId, q.PropertyName }) .ToList() .Select(l => new Localization() { Id = l.Id, BaseObjectId = l.BaseObjectId, LanguageId = l.LanguageId, PropertyName = l.PropertyName }) .SingleOrDefault()); } }; persistent = persistent ?? populatePersistent(); if (persistent == null) { return; } persistent.Language = new LanguageService(false).Get(l => l.Id == persistent.LanguageId); if (disconnectedEntity.Language != null && persistent.Language != null) { new LanguageService().ConvertToPersistent(disconnectedEntity.Language, persistent.Language); disconnectedEntity.LanguageId = disconnectedEntity.Language.Id; } base.ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); }
public bool CreateOrUpdate(T entity) { var isCommitted = false; using (var uow = new Dota2UnitofWork()) { var repository = Repository.SetContext(uow.Context); if (!(repository.IsItNew(entity) ? repository.Create(entity) : repository.Update(entity))) { return(false); } isCommitted = uow.Commit(); } return(isCommitted); }
public override void ConvertToPersistent(Skill disconnectedEntity, Skill persistent = null, Func <Skill> populatePersistent = null) { populatePersistent = () => { using (var uow = new Dota2UnitofWork()) { var repository = new SkillRepository(uow.Context); return(repository.Select(repository.UniqueFilter(disconnectedEntity), repository.GetAllIncludes()) .Select(q => new { q.Id, q.Name, q.CharacterId, ImageId = q.Image.Id }) .ToList() .Select(qs => new Skill() { Id = qs.Id, Name = qs.Name, CharacterId = qs.CharacterId, ImageId = qs.ImageId }) .SingleOrDefault()); } }; persistent = persistent ?? populatePersistent(); if (persistent == null) { return; } base.ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); new BaseObjectService().ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); }
//public override Hero AnonymousTypeToT(object anonymous) //{ // var hero = new BaseObjectService().AnonymousTypeToT(anonymous) as Hero; // hero = AnonymousTypeToT(hero); // return hero; //} public override void ConvertToPersistent(Hero disconnectedEntity, Hero persistent = null, Func <Hero> populatePersistent = null) { populatePersistent = () => { using (var uow = new Dota2UnitofWork()) { var repository = new HeroRepository(uow.Context); new HeroService().Select(); //return repository.Select(repository.UniqueFilter(disconnectedEntity)).ToList() //.Select(s=> s as Hero) //.SingleOrDefault(); return(repository.Select(repository.UniqueFilter(disconnectedEntity), repository.GetAllIncludes()) .Select(q => new { q.Id, q.Name, q.ImageId }) .ToList() .Select(h => new Hero() { Id = h.Id, Name = h.Name, ImageId = h.ImageId }) .SingleOrDefault()); } }; persistent = persistent ?? populatePersistent(); base.ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); new CharacterService().ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); }
public override void ConvertToPersistent(Item disconnectedEntity, Item persistent = null, Func <Item> populatePersistent = null) { populatePersistent = () => { using (var uow = new Dota2UnitofWork()) { var repository = new ItemRepository(uow.Context); return(repository.Select(repository.UniqueFilter(disconnectedEntity), repository.GetAllIncludes()) .Select(q => new { q.Id, q.LinkParameter, q.ImageId }) .ToList() .Select(qi => new Item() { Id = qi.Id, LinkParameter = qi.LinkParameter, ImageId = qi.ImageId }) .SingleOrDefault()); } }; persistent = persistent ?? populatePersistent(); if (persistent == null) { return; } base.ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); new BaseObjectService().ConvertToPersistent(disconnectedEntity, persistent, populatePersistent); }
static void Main() { //var heroes = HeroService.LoadFromDota2Com("tiny", Language.LanguagesFromDota2.Where(l => l.Name == "turkish").FirstOrDefault()).Result; var heroes = HeroService.LoadFromDota2Com("omniknight", Language.LanguagesFromDota2.Where(l => l.Name == "turkish").FirstOrDefault()).Result; //Func<Hero> populatePersistent = () => //{ // using (var uow = new Dota2UnitofWork()) // { // var repository = new HeroRepository(uow.Context); // return repository.Select(repository.UniqueFilter(heroes.FirstOrDefault()), repository.GetAllIncludes()) // .Select(q => new // { // q.Id, // q.Name, // Image = new // { // Id = (Guid?)q.Image.Id, // q.Image.Name, // q.Image.Path, // q.Image.Data // }, // Localizations = q.Localizations.Select(l => new // { // l.Id, // l.BaseObjectId, // l.LanguageId, // l.PropertyName // }), // Skills = q.Skills.Select(s => new // { // s.Id, // s.CharacterId, // s.Name, // Image = new // { // Id = (Guid?)s.Image.Id, // s.Image.Name, // s.Image.Path, // s.Image.Data // }, // Localizations = s.Localizations.Select(l => new // { // l.Id, // l.BaseObjectId, // l.LanguageId, // l.PropertyName // }), // }) // }) // .ToList() // .Select(l => new Hero() // { // Id = l.Id, // Name = l.Name, // Image = new ImageService().AnonymousTypeToT(l.Image), // Localizations = l.Localizations.Select(ll=>new LocalizationService().AnonymousTypeToT(ll)).ToList(), // Skills = l.Skills.Select(ls=>new SkillService().AnonymousTypeToT(ls)).ToList() // }) // .SingleOrDefault(); // } //}; //var x = populatePersistent(); //using (var uow = new Dota2UnitofWork()) //{ // var rep = new CharacterRepository(uow.Context); // var chars = rep.Select().ToList(); //} //Logda fazlalık var Create Hero da // parametreli ve paralel işlemeli Hero.Load //Log ta id ler gelebilir // Log ta total etkilenen nesneleri toparlıyor 2000 tane nesne insert edildi diye foreach (var hero in heroes) { var heroService = new HeroService(); heroService.ConvertToPersistent(hero); Console.WriteLine("{0} : {1}", hero.Name, heroService.CreateOrUpdate(hero)); } //using (var uow = new Dota2UnitofWork()) //{ // var rep = new HeroRepository(uow.Context); // foreach (var hero in heroes) // { // rep.Create(hero); // var bb = uow.Commit(); // } //} //var imageService = new ImageService(); //var img = imageService.Get(i=>i.Id.ToString()== "C5C3910A-ECA1-EA11-BA95-C8D3FF210A02"); //var itemService2 = new ItemService(); //var abyssal_blade = itemService2.Select(i=>i.LinkParameter== "abyssal_blade",ItemRepository.AllIncludes).FirstOrDefault(); ////img.Id = Guid.NewGuid(); ////abyssal_blade.Image = img; //itemService2.ConvertToPersistent(abyssal_blade); //var ggg = itemService2.CreateOrUpdate(abyssal_blade); //var il = new List<Item>() //{ // new Item(){LinkParameter="X1"}, // new Item(){LinkParameter="X2"}, //}; //var x = il.Any(new UniqueFilter<Item>().Get(new Item() { LinkParameter = "X2" }).Compile()); var itemService = new ItemService(); //var list = itemService.Select(includes: ItemRepository.AllIncludes); //language: Language.LanguagesFromDota2.Where(l => l.Name == "bulgarian").FirstOrDefault() //var webResults = ItemService.LoadFromDota2Com(language: Language.LanguagesFromDota2.Where(l => l.Name == "bulgarian").FirstOrDefault()).Result; var webResults = new ItemService().Select(i => i.Localizations.Any(l => l.Language.Name == "bulgarian"), new ItemRepository().GetAllIncludes()); //webResults.OrderBy(wr => wr.LinkParameter).FirstOrDefault().Localizations.FirstOrDefault().Language = new Language() { Name = "test", Code = "tst" }; //var it = webResults.FirstOrDefault(); //itemService.ConvertToPersistent(it); //using (var uow = new Dota2UnitofWork()) //{ // var imageRepository = new ImageRepository(uow.Context); // // var unique = imageRepository.GetUnique(it.Image,true); // var ddgsg = imageRepository.Create(it.Image); // var ddgsg2= uow.Commit(); //} var counter = 0; Stopwatch sw = new Stopwatch(); sw.Start(); foreach (var result in webResults.OrderBy(wr => wr.LinkParameter)) { itemService.ConvertToPersistent(result); result.Localizations.FirstOrDefault().Description = "test"; var bb102012 = itemService.CreateOrUpdate(result); if (!bb102012) { throw new Exception(); } Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("lp : {0},counter = {1},id= {2}", result.LinkParameter, counter, result.Id); Console.ForegroundColor = ConsoleColor.White; } sw.Stop(); Console.ReadLine(); //var persistentItem = itemService.Select(includes:ItemRepository.AllIncludes).FirstOrDefault(); var persistentItem = new Item() { LinkParameter = "blink1010" }; itemService.Update(persistentItem); //using (var uow =new Dota2UnitofWork()) //{ // var imageRepository = new ImageRepository(uow.Context); // var xcc = imageRepository.Get(persistentItem.ImageId.Value, imageRepository.GetAllIncludes()); // var b = imageRepository.Any(imageRepository.UniqueFilter(persistentItem.Image)); //} itemService.ConvertToPersistent(persistentItem); //itemService.Update(list.FirstOrDefault()); var itemSample = new ItemService().Get(i => i.LinkParameter == "blink", new ItemRepository().GetAllIncludes()); var lclclc = new Localization(itemSample, Language.LanguagesFromDota2.FirstOrDefault(), "className", "propertyName", Guid.NewGuid().ToString()); lclclc.BaseObjectId = itemSample.Id; lclclc.LanguageId = lclclc.Language.Id; lclclc.Name = DateTime.Now.ToString(); itemSample.AddLocalization(lclclc); itemSample.Image = new Image() { Id = itemSample.Image.Id, Data = Encoding.UTF8.GetBytes(DateTime.Now.ToString()) }; itemSample.Image.Name = DateTime.Now.ToString(); itemSample.Lore = "Lorem ımpsum : " + Guid.NewGuid(); //itemSample.Localizations.Clear(); using (var uow = new Dota2UnitofWork()) { var itemRepository = new ItemRepository(uow.Context); itemRepository.Update(itemSample); var b1012010 = uow.Commit(); } Console.ReadLine(); }