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);
            }
        }