Beispiel #1
0
 public CharacterDTO LoadBySlot(long accountId, byte slot)
 {
     try
     {
         using (OpenNosContext context = DataAccessHelper.CreateContext())
         {
             CharacterDTO dto = new CharacterDTO();
             if (Mapper.Mappers.CharacterMapper.ToCharacterDTO(context.Character.AsNoTracking().SingleOrDefault(c => c.AccountId.Equals(accountId) && c.Slot.Equals(slot) && c.State.Equals((byte)CharacterState.Active)), dto))
             {
                 return(dto);
             }
         }
     }
     catch (Exception e)
     {
         // for now we shall ban the user that has 2 characters per slot and ask him to
         // explain what he did to make it happen. might also be saving issue.
         Logger.Error($"There should be only 1 character per slot, AccountId: {accountId} Slot: {slot}", e);
         using (OpenNosContext context = DataAccessHelper.CreateContext())
         {
             PenaltyLogDTO penalty = new PenaltyLogDTO()
             {
                 AccountId = accountId, DateStart = DateTime.UtcNow, DateEnd = DateTime.UtcNow.AddYears(15), Penalty = PenaltyType.Banned, Reason = $"OpenBuster: Multiple characters in slot:{slot} recognized", AdminName = "OpenBuster"
             };
             PenaltyLog penaltyLog = new PenaltyLog();
             if (Mapper.Mappers.PenaltyLogMapper.ToPenaltyLog(penalty, penaltyLog))
             {
                 context.PenaltyLog.Add(penaltyLog);
                 context.SaveChanges();
             }
         }
     }
     return(null);
 }
Beispiel #2
0
        public SaveResult InsertOrUpdate(ref PenaltyLogDTO log)
        {
            try
            {
                using (OpenNosContext context = DataAccessHelper.CreateContext())
                {
                    int        id     = log.PenaltyLogId;
                    PenaltyLog entity = context.PenaltyLog.FirstOrDefault(c => c.PenaltyLogId.Equals(id));

                    if (entity == null)
                    {
                        log = insert(log, context);
                        return(SaveResult.Inserted);
                    }

                    log = update(entity, log, context);
                    return(SaveResult.Updated);
                }
            }
            catch (Exception e)
            {
                Logger.Error(string.Format(Language.Instance.GetMessageFromKey("UPDATE_PENALTYLOG_ERROR"), log.PenaltyLogId, e.Message), e);
                return(SaveResult.Error);
            }
        }
Beispiel #3
0
        private static PenaltyLogDTO update(PenaltyLog entity, PenaltyLogDTO penaltylog, OpenNosContext context)
        {
            if (entity != null)
            {
                Mapper.Mappers.PenaltyLogMapper.ToPenaltyLog(penaltylog, entity);
                context.SaveChanges();
            }
            if (Mapper.Mappers.PenaltyLogMapper.ToPenaltyLogDTO(entity, penaltylog))
            {
                return(penaltylog);
            }

            return(null);
        }
Beispiel #4
0
        private static PenaltyLogDTO insert(PenaltyLogDTO penaltylog, OpenNosContext context)
        {
            PenaltyLog entity = new PenaltyLog();

            Mapper.Mappers.PenaltyLogMapper.ToPenaltyLog(penaltylog, entity);
            context.PenaltyLog.Add(entity);
            context.SaveChanges();
            if (Mapper.Mappers.PenaltyLogMapper.ToPenaltyLogDTO(entity, penaltylog))
            {
                return(penaltylog);
            }

            return(null);
        }
Beispiel #5
0
 public static bool ToPenaltyLogDTO(PenaltyLog input, PenaltyLogDTO output)
 {
     if (input == null)
     {
         return(false);
     }
     output.AccountId    = input.AccountId;
     output.AdminName    = input.AdminName;
     output.DateEnd      = input.DateEnd;
     output.DateStart    = input.DateStart;
     output.Penalty      = input.Penalty;
     output.PenaltyLogId = input.PenaltyLogId;
     output.Reason       = input.Reason;
     return(true);
 }
Beispiel #6
0
        public DeleteResult Delete(int penaltyLogId)
        {
            try
            {
                using (OpenNosContext context = DataAccessHelper.CreateContext())
                {
                    PenaltyLog PenaltyLog = context.PenaltyLog.FirstOrDefault(c => c.PenaltyLogId.Equals(penaltyLogId));

                    if (PenaltyLog != null)
                    {
                        context.PenaltyLog.Remove(PenaltyLog);
                        context.SaveChanges();
                    }

                    return(DeleteResult.Deleted);
                }
            }
            catch (Exception e)
            {
                Logger.Error(string.Format(Language.Instance.GetMessageFromKey("DELETE_PENALTYLOG_ERROR"), penaltyLogId, e.Message), e);
                return(DeleteResult.Error);
            }
        }