Clear() публичный Метод

public Clear ( ) : void
Результат void
Пример #1
0
        private void OnCS_IMC_Create_Req(SecurePacketRequest reqPacket)
        {
            SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket);

            try
            {
                if (_user.CastChannel != null)
                    throw new AegisException(ResultCode.IMC_InChannel);

                String channelName = reqPacket.GetStringFromUtf16();
                _user.CastChannel = CastChannel.NewChannel(channelName);
                _user.CastChannel.Enter(_user);

                resPacket.ResultCodeNo = ResultCode.Ok;
                resPacket.PutInt32(_user.CastChannel.ChannelNo);
                resPacket.PutStringAsUtf16(_user.CastChannel.Name);
            }
            catch (AegisException e)
            {
                resPacket.Clear();
                resPacket.ResultCodeNo = e.ResultCodeNo;
            }

            SendPacket(resPacket);
        }
        private void OnCS_CloudSheet_GetRecords_Req(SecurePacketRequest reqPacket)
        {
            String filename = reqPacket.GetStringFromUtf16();
            String sheetName = reqPacket.GetStringFromUtf16();
            UInt32 startRowNo = reqPacket.GetUInt32();
            SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket, 65535);

            try
            {
                resPacket.ResultCodeNo = ResultCode.Ok;

                Workbook workbook = Workbooks.GetWorkbook(filename);
                SheetData sheet = workbook.GetSheetData(sheetName);
                Int32 hasMoreIdx = resPacket.PutByte(0);
                Int32 rowCountIdx = resPacket.PutInt32(0);
                Int32 rowCount = 0;
                UInt32 lastRowIndex = 0;

                foreach (Record data in sheet.Records)
                {
                    if (data == null || data.RowNo < startRowNo)
                        continue;

                    ++rowCount;
                    lastRowIndex = data.RowNo;

                    resPacket.PutUInt32(data.RowNo);
                    foreach (String value in data.DataList)
                    {
                        if (value == null)
                            resPacket.PutStringAsUtf16("");
                        else
                            resPacket.PutStringAsUtf16(value.ToString());
                    }

                    //  #! 대략 이쯤...  패킷 크기를 초과하지 않도록 적당이 끊어준다.
                    if (resPacket.WrittenBytes > 50000)
                        break;
                }

                resPacket.OverwriteByte(hasMoreIdx, (Byte)(lastRowIndex < sheet.MaxRowNo ? 1 : 0));
                resPacket.OverwriteInt32(rowCountIdx, rowCount);
            }
            catch (AegisException e)
            {
                Logger.Write(LogType.Err, 2, e.ToString());

                resPacket.Clear();
                resPacket.ResultCodeNo = e.ResultCodeNo;
            }

            SendPacket(resPacket);
        }
        private void OnCS_CloudSheet_GetSheetList_Req(SecurePacketRequest reqPacket)
        {
            String filename = reqPacket.GetStringFromUtf16();
            SecurePacketResponse resPacket = new SecurePacketResponse(reqPacket, 65535);

            try
            {
                Workbook workbook = Workbooks.GetWorkbook(filename);

                resPacket.ResultCodeNo = ResultCode.Ok;
                resPacket.PutInt32(workbook.Items.Count());
                foreach (SheetData sheet in workbook.Items.Select(v => v.Value))
                {
                    //  Sheet information
                    resPacket.PutStringAsUtf16(sheet.Name);
                    resPacket.PutInt32(sheet.Records.Count());
                    resPacket.PutInt32(sheet.Fields.Count());

                    //  Field information
                    foreach (var fieldInfo in sheet.Fields)
                    {
                        resPacket.PutInt32((Int32)fieldInfo.DataType);
                        resPacket.PutStringAsUtf16(fieldInfo.Name);
                    }
                }
            }
            catch (AegisException e)
            {
                Logger.Write(LogType.Err, 2, e.ToString());

                resPacket.Clear();
                resPacket.ResultCodeNo = e.ResultCodeNo;
            }

            SendPacket(resPacket);
        }