Example #1
0
        public SaveResult InsertOrUpdate(ref FamilyLogDTO familyLog)
        {
            try
            {
                using (OpenNosContext context = DataAccessHelper.CreateContext())
                {
                    long      FamilyLog = familyLog.FamilyLogId;
                    FamilyLog entity    = context.FamilyLog.FirstOrDefault(c => c.FamilyLogId.Equals(FamilyLog));

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

                    familyLog = update(entity, familyLog, context);
                    return(SaveResult.Updated);
                }
            }
            catch (Exception e)
            {
                Logger.Error(string.Format(Language.Instance.GetMessageFromKey("UPDATE_FAMILYLOG_ERROR"), familyLog.FamilyLogId, e.Message), e);
                return(SaveResult.Error);
            }
        }
Example #2
0
 public static bool ToFamilyLogDTO(FamilyLog input, FamilyLogDTO output)
 {
     if (input == null)
     {
         return(false);
     }
     output.FamilyId      = input.FamilyId;
     output.FamilyLogData = input.FamilyLogData;
     output.FamilyLogId   = input.FamilyLogId;
     output.FamilyLogType = input.FamilyLogType;
     output.Timestamp     = input.Timestamp;
     return(true);
 }
Example #3
0
        private static FamilyLogDTO insert(FamilyLogDTO famlog, OpenNosContext context)
        {
            FamilyLog entity = new FamilyLog();

            Mapper.Mappers.FamilyLogMapper.ToFamilyLog(famlog, entity);
            context.FamilyLog.Add(entity);
            context.SaveChanges();
            if (Mapper.Mappers.FamilyLogMapper.ToFamilyLogDTO(entity, famlog))
            {
                return(famlog);
            }

            return(null);
        }
Example #4
0
 public IEnumerable <FamilyLogDTO> LoadByFamilyId(long familyId)
 {
     using (OpenNosContext context = DataAccessHelper.CreateContext())
     {
         List <FamilyLogDTO> result = new List <FamilyLogDTO>();
         foreach (FamilyLog familylog in context.FamilyLog.Where(fc => fc.FamilyId.Equals(familyId)))
         {
             FamilyLogDTO dto = new FamilyLogDTO();
             Mapper.Mappers.FamilyLogMapper.ToFamilyLogDTO(familylog, dto);
             result.Add(dto);
         }
         return(result);
     }
 }
Example #5
0
        private static FamilyLogDTO update(FamilyLog entity, FamilyLogDTO famlog, OpenNosContext context)
        {
            if (entity != null)
            {
                Mapper.Mappers.FamilyLogMapper.ToFamilyLog(famlog, entity);
                context.SaveChanges();
            }

            if (Mapper.Mappers.FamilyLogMapper.ToFamilyLogDTO(entity, famlog))
            {
                return(famlog);
            }

            return(null);
        }
Example #6
0
        public void InsertFamilyLog(FamilyLogType logtype, string characterName = "", string characterName2 = "", string rainBowFamily = "", string message = "", byte level = 0, int experience = 0, int itemVNum = 0, byte upgrade = 0, int raidType = 0, FamilyAuthority authority = FamilyAuthority.Head, int righttype = 0, int rightvalue = 0)
        {
            string value = string.Empty;

            switch (logtype)
            {
            case FamilyLogType.DailyMessage:
                value = $"{characterName}|{message}";
                break;

            case FamilyLogType.FamilyXP:
                value = $"{characterName}|{experience}";
                break;

            case FamilyLogType.LevelUp:
                value = $"{characterName}|{level}";
                break;

            case FamilyLogType.RaidWon:
                value = raidType.ToString();
                break;

            case FamilyLogType.ItemUpgraded:
                value = $"{characterName}|{itemVNum}|{upgrade}";
                break;

            case FamilyLogType.UserManaged:
                value = $"{characterName}|{characterName2}";
                break;

            case FamilyLogType.FamilyLevelUp:
                value = level.ToString();
                break;

            case FamilyLogType.AuthorityChanged:
                value = $"{characterName}|{(byte)authority}|{characterName2}";
                break;

            case FamilyLogType.FamilyManaged:
                value = characterName;
                break;

            case FamilyLogType.RainbowBattle:
                value = rainBowFamily;
                break;

            case FamilyLogType.RightChanged:
                value = $"{characterName}|{(byte)authority}|{righttype}|{rightvalue}";
                break;

            case FamilyLogType.WareHouseAdded:
            case FamilyLogType.WareHouseRemoved:
                value = $"{characterName}|{message}";
                break;
            }
            FamilyLogDTO log = new FamilyLogDTO
            {
                FamilyId      = FamilyId,
                FamilyLogData = value,
                FamilyLogType = logtype,
                Timestamp     = DateTime.Now
            };

            DAOFactory.FamilyLogDAO.InsertOrUpdate(ref log);
            ServerManager.Instance.FamilyRefresh(FamilyId);
            CommunicationServiceClient.Instance.SendMessageToCharacter(new SCSCharacterMessage()
            {
                DestinationCharacterId = FamilyId,
                SourceCharacterId      = 0,
                SourceWorldId          = ServerManager.Instance.WorldId,
                Message = "fhis_stc",
                Type    = MessageType.Family
            });
        }
Example #7
0
        public void InsertFamilyLog(FamilyLogType logtype, string CharacterName = "", string CharacterName2 = "", string RainBowFamily = "", string Message = "", byte Level = 0, int Experience = 0, int ItemVNum = 0, byte Upgrade = 0, int RaidType = 0, int right = 0, int righttype = 0, int rightvalue = 0)
        {
            string value = string.Empty;

            switch (logtype)
            {
            case FamilyLogType.DailyMessage:
                value = $"{CharacterName}|{Message}";
                break;

            case FamilyLogType.FamilyXP:
                value = $"{CharacterName}|{Experience}";
                break;

            case FamilyLogType.Level:
                value = $"{CharacterName}|{Level}";
                break;

            case FamilyLogType.Raid:
                value = RaidType.ToString();
                break;

            case FamilyLogType.Upgrade:
                value = $"{CharacterName}|{ItemVNum}|{Upgrade}";
                break;

            case FamilyLogType.UserManage:
                value = $"{CharacterName}|{CharacterName2}";
                break;

            case FamilyLogType.FamilyLevel:
                value = Level.ToString();
                break;

            case FamilyLogType.AuthorityChange:
                value = $"{CharacterName}|{right}|{CharacterName2}";
                break;

            case FamilyLogType.FamilyManage:
                value = CharacterName;
                break;

            case FamilyLogType.RainbowBattle:
                value = RainBowFamily;
                break;

            case FamilyLogType.RightChange:
                value = $"{CharacterName}|{right}|{righttype}|{rightvalue}";
                break;
            }
            FamilyLogDTO log = new FamilyLogDTO
            {
                FamilyId      = FamilyId,
                FamilyLogData = value,
                FamilyLogType = logtype,
                Timestamp     = DateTime.Now
            };

            DAOFactory.FamilyLogDAO.InsertOrUpdate(ref log);
            ServerManager.Instance.FamilyRefresh(FamilyId);
        }
Example #8
0
        public void InsertFamilyLog(FamilyLogType logtype, string characterName = "", string characterName2 = "", string rainBowFamily = "", string message = "", byte level = 0, int experience = 0, int itemVNum = 0, byte upgrade = 0, int raidType = 0, int right = 0, int righttype = 0, int rightvalue = 0)
        {
            string value = string.Empty;

            switch (logtype)
            {
            case FamilyLogType.DailyMessage:
                value = $"{characterName}|{message}";
                break;

            case FamilyLogType.FamilyXP:
                value = $"{characterName}|{experience}";
                break;

            case FamilyLogType.LevelUp:
                value = $"{characterName}|{level}";
                break;

            case FamilyLogType.RaidWon:
                value = raidType.ToString();
                break;

            case FamilyLogType.ItemUpgraded:
                value = $"{characterName}|{itemVNum}|{upgrade}";
                break;

            case FamilyLogType.UserManaged:
                value = $"{characterName}|{characterName2}";
                break;

            case FamilyLogType.FamilyLevelUp:
                value = level.ToString();
                break;

            case FamilyLogType.AuthorityChanged:
                value = $"{characterName}|{right}|{characterName2}";
                break;

            case FamilyLogType.FamilyManaged:
                value = characterName;
                break;

            case FamilyLogType.RainbowBattle:
                value = rainBowFamily;
                break;

            case FamilyLogType.RightChanged:
                value = $"{characterName}|{right}|{righttype}|{rightvalue}";
                break;

            case FamilyLogType.WareHouseAdded:
            case FamilyLogType.WareHouseRemoved:
                value = $"{characterName}|{message}";
                break;
            }
            FamilyLogDTO log = new FamilyLogDTO
            {
                FamilyId      = FamilyId,
                FamilyLogData = value,
                FamilyLogType = logtype,
                Timestamp     = DateTime.Now
            };

            DAOFactory.FamilyLogDAO.InsertOrUpdate(ref log);
            ServerManager.Instance.FamilyRefresh(FamilyId);
            int?sentChannelId2 = ServerCommunicationClient.Instance.HubProxy.Invoke <int?>("SendMessageToCharacter", ServerManager.Instance.ServerGroup, string.Empty, FamilyId.ToString(), "fhis_stc", ServerManager.Instance.ChannelId, MessageType.Family).Result;
        }