private int DistributeSYNCCommandData(SYNCCmdValue command, SYNCProtocolBase baseData) { System.Console.WriteLine("[CommunicationManager] SYNC 프레임 데이터 분배 - command(" + command.ToString() + ")"); try { switch (command) { case SYNCCmdValue.ChkTotalHash: // 전체 해쉬키 체크 요청 case SYNCCmdValue.ChkSingleHash: case SYNCCmdValue.UpdateProfile: { if (this.NotifyDataSyncRequested != null) { SynchronizationReqData syncReqData = ConvertToSynchronizationReqData(command, baseData); this.NotifyDataSyncRequested(this, new DataSyncEvtArgs(syncReqData)); } } break; default: { // do nothing } break; } } catch (Exception ex) { System.Console.WriteLine("[CommunicationManager] DistributeSYNCCommandData( " + ex.ToString() + " )"); FileLogManager.GetInstance().WriteLog("[CommunicationManager] DistributeSYNCCommandData( Exception=[" + ex.ToString() + "] )"); return(-99); } return(0); }
private SynchronizationReqData ConvertToSynchronizationReqData(SYNCCmdValue command, SYNCProtocolBase baseData) { SynchronizationReqData reqData = null; switch (command) { case SYNCCmdValue.ChkTotalHash: // 전체 해쉬키 체크 요청 { reqData = new SynchronizationReqData(); reqData.Command = DataSyncCommand.ChkEntireHashKey; SYNCPrtCmd1 protoCmd1 = baseData as SYNCPrtCmd1; reqData.EventID = protoCmd1.Identifier; reqData.ProfileHashKey = protoCmd1.HashKey; reqData.Crc16 = protoCmd1.Crc16; } break; case SYNCCmdValue.ChkSingleHash: { reqData = new SynchronizationReqData(); reqData.Command = DataSyncCommand.ChkSingleHashKey; SYNCPrtCmd2 protoCmd2 = baseData as SYNCPrtCmd2; reqData.EventID = protoCmd2.Identifier; reqData.TotalPacketCnt = protoCmd2.TotalCount; reqData.CurrentPacketNo = protoCmd2.Num; reqData.ProfileID = protoCmd2.ProfileID; reqData.ProfileHashKey = protoCmd2.HashKey; reqData.Crc16 = protoCmd2.Crc16; } break; case SYNCCmdValue.UpdateProfile: { reqData = new SynchronizationReqData(); reqData.Command = DataSyncCommand.UpdateProfileData; SYNCPrtCmd3 protoCmd3 = baseData as SYNCPrtCmd3; reqData.EventID = protoCmd3.Identifier; reqData.TotalPacketCnt = protoCmd3.TotalCount; reqData.CurrentPacketNo = protoCmd3.Num; switch (protoCmd3.Mode) { case SyncUpdateMode.Regist: reqData.Mode = ProfileUpdateMode.Regist; break; case SyncUpdateMode.Modify: reqData.Mode = ProfileUpdateMode.Modify; break; case SyncUpdateMode.Delete: reqData.Mode = ProfileUpdateMode.Delete; break; default: break; } reqData.ProfileID = protoCmd3.ID; reqData.SystemProfile = new SASProfile(); reqData.SystemProfile.ID = protoCmd3.ID; reqData.SystemProfile.Name = protoCmd3.SystemName; reqData.SystemProfile.AuthCode = protoCmd3.AuthCode; reqData.SystemProfile.KindCode = protoCmd3.SystemKindCode; reqData.SystemProfile.IpType = IPType.IPv4; if (protoCmd3.IPType == IPAddressType.IPv4) { reqData.SystemProfile.IpType = IPType.IPv4; } else if (protoCmd3.IPType == IPAddressType.IPv6) { reqData.SystemProfile.IpType = IPType.IPv6; } else { // } reqData.SystemProfile.IpAddress = protoCmd3.IPAddress; reqData.SystemProfile.Latitude = protoCmd3.Latitude.ToString(); reqData.SystemProfile.Longitude = protoCmd3.Longitude.ToString(); reqData.SystemProfile.AssignedIAGWRegionCode = protoCmd3.AssignedIAGWRegionCode; reqData.SystemProfile.Address = protoCmd3.Address; reqData.SystemProfile.ManagerName = protoCmd3.ManagerName; reqData.SystemProfile.ManagerDepartment = protoCmd3.ManagerDepartment; reqData.SystemProfile.ManagerPhone = protoCmd3.ManagerPhone; } break; default: { // do nothing } break; } return(reqData); }