public SaveResult InsertOrUpdate(ref MinilandObjectDTO obj) { try { using (OpenNosContext context = DataAccessHelper.CreateContext()) { long id = obj.MinilandObjectId; MinilandObject entity = context.MinilandObject.FirstOrDefault(c => c.MinilandObjectId.Equals(id)); if (entity == null) { obj = Insert(obj, context); return(SaveResult.Inserted); } obj.MinilandObjectId = entity.MinilandObjectId; obj = Update(entity, obj, context); return(SaveResult.Updated); } } catch (Exception e) { Logger.Error(e); return(SaveResult.Error); } }
public IEnumerable <MinilandObjectDTO> LoadByCharacterId(long characterId) { using (OpenNosContext context = DataAccessHelper.CreateContext()) { List <MinilandObjectDTO> result = new List <MinilandObjectDTO>(); foreach (MinilandObject obj in context.MinilandObject.AsNoTracking().Where(s => s.CharacterId == characterId)) { MinilandObjectDTO dto = new MinilandObjectDTO(); Mapper.Mappers.MinilandObjectMapper.ToMinilandObjectDTO(obj, dto); result.Add(dto); } return(result); } }
private static MinilandObjectDTO Update(MinilandObject entity, MinilandObjectDTO respawn, OpenNosContext context) { if (entity != null) { Mapper.Mappers.MinilandObjectMapper.ToMinilandObject(respawn, entity); context.SaveChanges(); } if (Mapper.Mappers.MinilandObjectMapper.ToMinilandObjectDTO(entity, respawn)) { return(respawn); } return(null); }
public static bool ToMinilandObjectDTO(MinilandObject input, MinilandObjectDTO output) { if (input == null) { return(false); } output.CharacterId = input.CharacterId; output.ItemInstanceId = input.ItemInstanceId; output.Level1BoxAmount = input.Level1BoxAmount; output.Level2BoxAmount = input.Level2BoxAmount; output.Level3BoxAmount = input.Level3BoxAmount; output.Level4BoxAmount = input.Level4BoxAmount; output.Level5BoxAmount = input.Level5BoxAmount; output.MapX = input.MapX; output.MapY = input.MapY; output.MinilandObjectId = input.MinilandObjectId; return(true); }
private static MinilandObjectDTO Insert(MinilandObjectDTO obj, OpenNosContext context) { try { MinilandObject entity = new MinilandObject(); Mapper.Mappers.MinilandObjectMapper.ToMinilandObject(obj, entity); context.MinilandObject.Add(entity); context.SaveChanges(); if (Mapper.Mappers.MinilandObjectMapper.ToMinilandObjectDTO(entity, obj)) { return(obj); } return(null); } catch (Exception e) { Logger.Error(e); return(null); } }