Ejemplo n.º 1
0
        public Gpu(IDisplay display, InterruptManager interruptManager, Dma dma, Ram oamRam, bool gbc)
        {
            _r                = new MemoryRegisters(GpuRegister.Values().ToArray());
            _lcdc             = new Lcdc();
            _interruptManager = interruptManager;
            _gbc              = gbc;
            _videoRam0        = new Ram(0x8000, 0x2000);
            _videoRam1        = gbc ? new Ram(0x8000, 0x2000) : null;
            _oamRam           = oamRam;
            _dma              = dma;

            _bgPalette  = new ColorPalette(0xff68);
            _oamPalette = new ColorPalette(0xff6a);
            _oamPalette.FillWithFf();

            _oamSearchPhase     = new OamSearch(oamRam, _lcdc, _r);
            _pixelTransferPhase = new PixelTransfer(_videoRam0, _videoRam1, oamRam, display, _lcdc, _r, gbc, _bgPalette,
                                                    _oamPalette);
            _hBlankPhase = new HBlankPhase();
            _vBlankPhase = new VBlankPhase();

            _mode  = Mode.OamSearch;
            _phase = _oamSearchPhase.Start();

            _display = display;
        }
Ejemplo n.º 2
0
 public DmcSoundChannel(Apu apu, Dma dma, Memory memory)
 {
     this.apu         = apu;
     this.dma         = dma;
     this.memory      = memory;
     this.dma.DmcDma += this.OnDmcDma;
 }
Ejemplo n.º 3
0
        public Gameboy(
            GameboyOptions options,
            Cartridge rom,
            IDisplay display,
            IController controller,
            ISoundOutput soundOutput,
            SerialEndpoint serialEndpoint)
        {
            _display  = display;
            _gbc      = rom.Gbc;
            SpeedMode = new SpeedMode();

            var interruptManager = new InterruptManager(_gbc);

            _timer = new Timer(interruptManager, SpeedMode);
            Mmu    = new Mmu();

            var oamRam = new Ram(0xfe00, 0x00a0);

            _dma        = new Dma(Mmu, oamRam, SpeedMode);
            _gpu        = new Gpu(display, interruptManager, _dma, oamRam, _gbc);
            _hdma       = new Hdma(Mmu);
            _sound      = new Sound(soundOutput, _gbc);
            _serialPort = new SerialPort(interruptManager, serialEndpoint, SpeedMode);

            Mmu.AddAddressSpace(rom);
            Mmu.AddAddressSpace(_gpu);
            Mmu.AddAddressSpace(new Joypad(interruptManager, controller));
            Mmu.AddAddressSpace(interruptManager);
            Mmu.AddAddressSpace(_serialPort);
            Mmu.AddAddressSpace(_timer);
            Mmu.AddAddressSpace(_dma);
            Mmu.AddAddressSpace(_sound);

            Mmu.AddAddressSpace(new Ram(0xc000, 0x1000));
            if (_gbc)
            {
                Mmu.AddAddressSpace(SpeedMode);
                Mmu.AddAddressSpace(_hdma);
                Mmu.AddAddressSpace(new GbcRam());
                Mmu.AddAddressSpace(new UndocumentedGbcRegisters());
            }
            else
            {
                Mmu.AddAddressSpace(new Ram(0xd000, 0x1000));
            }

            Mmu.AddAddressSpace(new Ram(0xff80, 0x7f));
            Mmu.AddAddressSpace(new ShadowAddressSpace(Mmu, 0xe000, 0xc000, 0x1e00));

            Cpu = new Cpu(Mmu, interruptManager, _gpu, display, SpeedMode);

            interruptManager.DisableInterrupts(false);

            if (!options.UseBootstrap)
            {
                InitiliseRegisters();
            }
        }
Ejemplo n.º 4
0
        public void Reset(bool inBios = false, Cartridge cartridge = null)
        {
            CyclesCount = 0;
            Cpu.Reset(inBios, cartridge);
            Mmu.Reset();
            Ppu.Reset();
            Apu.Reset();
            Input.Reset();
            Timer.Reset();
            Dma.Reset();
            LinkCable.Reset();
            IsAlive = true;

            frameQueue = new FrameQueue();
        }
Ejemplo n.º 5
0
        public void ExecuteFrame()
        {
            while (CyclesCount < CPU_CYCLES)
            {
                int cycles = Cpu.ExecuteCycle();

                int divisorAmount = Cpu.DoubleSpeed ? 2 : 1;

                int dmaCycles = Dma.CopyData();

                cycles *= 4;

                Timer.Tick(cycles + dmaCycles);

                Input.Tick();
                Ppu.Tick((cycles + dmaCycles) / divisorAmount);

                Apu.Tick((cycles + dmaCycles) / divisorAmount);

                CyclesCount += cycles / divisorAmount;
            }
            CyclesCount -= CPU_CYCLES;
        }
Ejemplo n.º 6
0
 public void Transfer(Dma.Direction Direction, int Size, DmaEnum Address, ref uint Value)
 {
 }
Ejemplo n.º 7
0
        public void ProcessData()
        {
            try
            {
                string[] _logfilePath          = ConfigurationManager.AppSettings["timeToLoadData"].Split(',');
                string[] _updateDMADataNow     = ConfigurationManager.AppSettings["UpdateDMADataNow"].Split(',');
                string[] _loadDataNow          = ConfigurationManager.AppSettings["LoadDataNow"].Split(',');
                string   _masterDatapathBasic  = ConfigurationManager.AppSettings["MasterDatapathBasic"];
                string   _masterDMAExcelSource = ConfigurationManager.AppSettings["MasterDMAExcelSource"];
                string   _masterDatapathDMA    = ConfigurationManager.AppSettings["MasterDatapathDMA"];

                string _defaultDate = "0";


                TimeSpan now = DateTime.Now.TimeOfDay;
                foreach (string item in _logfilePath)
                {
                    int h = Convert.ToInt32(item.Split('.')[0]);
                    int s = Convert.ToInt32(item.Split('.')[1]);

                    TimeSpan start = new TimeSpan(h, s, 0);
                    TimeSpan end   = new TimeSpan(h, s + 3, 0);

                    if ((now > start) && (now < end))
                    {
                        //Service processing the request in Market time
                        IntermediateClass obj = new IntermediateClass();
                        MessageContext.MessageLog(obj.ProcessRequest("BasicData,OI"));
                        MessageContext.MessageLog(obj.LoadMCData());
                    }



                    if (_loadDataNow.ToString().ToUpper() == "TRUE")
                    {
                        //Service processing the request in Market time
                        IntermediateClass obj = new IntermediateClass();
                        MessageContext.MessageLog(obj.ProcessRequest("BasicData,OI-Using Loaded now option."));
                        MessageContext.MessageLog(obj.LoadMCData());
                    }
                }

                //post market time service updating the Master data excel files
                TimeSpan startPost = new TimeSpan(17, 0, 0);
                TimeSpan endPost   = new TimeSpan(20, 0, 0);
                if ((now > startPost) && (now < endPost))
                {
                    IntermediateClass obj     = new IntermediateClass();
                    string            message = obj.RefreshData(_defaultDate);
                    if (message.Contains("Updated sucussfully"))
                    {
                        try
                        {
                            BasicDataLogic objList  = new BasicDataLogic();
                            Dma            objDma   = new Dma();
                            OBJtoXML       xmltoObj = new OBJtoXML();

                            List <CompanyDetails> basicData    = objList.UpdateDMAMasterSource(_masterDatapathBasic, _defaultDate);
                            List <KeyValue>       objLtpPrices = GeneratePrices(basicData);
                            List <Rank>           dMADataRank  = objDma.GetDmaData(_masterDMAExcelSource, objLtpPrices, "");
                            message = message + " DMA,";
                            xmltoObj.CreateXML(dMADataRank, _masterDatapathDMA, "DMAData", false);
                        }
                        catch (Exception ex)
                        {
                            ErrorContext.ErrorLog("Error in PostRefresh DMA Data" + ex.Message);
                        }
                    }
                    MessageContext.MessageLog(message);
                }
                if (_updateDMADataNow.ToString().ToUpper() == "TRUE")
                {
                    IntermediateClass obj = new IntermediateClass();
                    MessageContext.MessageLog(obj.RefreshData(_defaultDate));
                    MessageContext.MessageLog("DMA data updated using updateDMADataNow option.");
                }
            }
            catch (Exception ex)
            {
                EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);
                ErrorContext.ErrorLog("Problem when Gettign the files   " + ex.Message.ToString());
            }
        }
Ejemplo n.º 8
0
        private void Calculate(IndexDefinitionInfo define, TechCycle cycle)
        {
            IIndex indexGener = new Dma();// CodeHelper.GetIEvaluator(define.server_algorithm_code);

            IList <stockcategory> cateList = cateService.GetCategoryList("tencent");

            int tatol = 0;

            foreach (var category in cateList)
            {
                IList <stock> stockList = stockService.GetStockByCategory(category.code);

                foreach (stock stock in stockList)
                {
                    IList <PriceInfo> list          = stockService.GetStockPriceDayInfo(stock);
                    IList <IndexData> listIndexData = GetLastIndexData(stock, define);

                    var result = indexGener.GetState(listIndexData);
                    this.Log().Info(stock.name + "_" + result);
                    using (StockManDBEntities entity = new StockManDBEntities())
                    {
                        var cate        = "1";
                        var code        = cate + "_" + stock.code + "_" + define.code;
                        var objectState = entity.objectstate.FirstOrDefault(p => p.code == code);
                        if (objectState == null)
                        {
                            var temp = new objectstate()
                            {
                                code          = code,
                                category_code = cate,
                                object_code   = stock.code,
                                index_code    = define.code,
                                date          = DateTime.Now
                            };

                            switch (cycle)
                            {
                            case TechCycle.day:
                                temp.day = (int)result;
                                break;

                            case TechCycle.week:
                                temp.week = (int)result;
                                break;

                            default:
                                temp.month = (int)result;
                                break;
                            }
                            entity.objectstate.Add(temp);
                        }
                        else
                        {
                            switch (cycle)
                            {
                            case TechCycle.day:
                                objectState.last_day = objectState.day;
                                objectState.day      = (int)result;
                                break;

                            case TechCycle.week:
                                objectState.last_week = objectState.week;
                                objectState.week      = (int)result;
                                break;

                            default:
                                objectState.last_month = objectState.month;
                                objectState.month      = (int)result;
                                break;
                            }
                        }

                        entity.SaveChanges();
                    }

                    if (++tatol > 3)
                    {
                        break;
                    }
                }
                if (tatol > 3)
                {
                    break;
                }
            }
        }
Ejemplo n.º 9
0
        public bool Deserialize(BinaryStream stream, AssetManager assetManager)
        {
            // Header
            string magic = stream.ReadString(4);

            Assert.AreEqual(MAGIC, magic, "Model File header does not match magic value!");

            Version = stream.ReadUInt32();

            if (!Enum.IsDefined(typeof(ModelType), (int)Version))
            {
                Debug.LogWarning("Could not decode model " + Name + ". Unknown DME version " + Version);
                return(false);
            }

            ModelType = (ModelType)Version;

            ModelHeaderOffset = stream.ReadUInt32();

            // DMA
            Dma.LoadFromStream(stream, TextureStrings, Materials);

            // Bounding Box
            Min = stream.ReadVector3();
            Max = stream.ReadVector3();

            // Meshes
            uint meshCount = stream.ReadUInt32();

            for (int i = 0; i < meshCount; ++i)
            {
                Mesh mesh = Mesh.LoadFromStream(stream, Materials);

                if (mesh == null)
                {
                    continue;
                }

                Material material = Materials[(int)mesh.MaterialIndex];
                foreach (Material.Parameter parameter in material.Parameters)
                {
                    LookupTextures(mesh, parameter, TextureStrings);

                    if (mesh.BaseDiffuse != null && mesh.BumpMap != null && mesh.SpecMap != null)
                    {
                        break;
                    }
                }

                Meshes.Add(mesh);
            }

            // Bone Maps
            uint boneMapCount = stream.ReadUInt32();

            for (int i = 0; i < boneMapCount; ++i)
            {
                BoneMap boneMap = BoneMap.LoadFromStream(stream);

                if (boneMap != null)
                {
                    BoneMaps.Add(boneMap);
                }
            }

            // Bone Map Entries
            uint boneMapEntryCount = stream.ReadUInt32();

            for (int i = 0; i < boneMapEntryCount; ++i)
            {
                BoneMapEntry boneMapEntry = BoneMapEntry.LoadFromStream(stream);

                if (boneMapEntry != null)
                {
                    BoneMapEntries.Add(boneMapEntry);
                }
            }

            return(true);
        }
Ejemplo n.º 10
0
        public static Model LoadFromStream(string name, string displayName, Stream stream)
        {
            BinaryReader binaryReader = new BinaryReader(stream);

            //Header
            byte[] magic = binaryReader.ReadBytes(4);

            if (magic[0] != 'D' ||
                magic[1] != 'M' ||
                magic[2] != 'O' ||
                magic[3] != 'D')
            {
                return(null);
            }
            Model model = new Model();

            model.Version = binaryReader.ReadUInt32();

            if (!Enum.IsDefined(typeof(ModelType), (int)model.Version))
            {
                Debug.LogWarning("Could not decode model " + name + ". Unknown DME version " + model.Version);
                return(null);
            }

            model.ModelType = (ModelType)model.Version;

            model.Name        = name;
            model.DisplayName = displayName;

            model.ModelHeaderOffset = binaryReader.ReadUInt32();

            //DMA
            model.TextureStrings = new List <string>();
            model.Materials      = new List <Material>();
            Dma.LoadFromStream(binaryReader.BaseStream, model.TextureStrings, model.Materials);

            //Bounding Box
            model.Min = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
            model.Max = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());

            //Meshes
            uint meshCount = binaryReader.ReadUInt32();

            model.Meshes = new List <Mesh>((int)meshCount);

            for (int i = 0; i < meshCount; ++i)
            {
                Mesh mesh = Mesh.LoadFromStream(binaryReader.BaseStream, model.Materials);

                if (mesh == null)
                {
                    continue;
                }

                Material material = model.Materials[(int)mesh.MaterialIndex];
                foreach (Material.Parameter parameter in material.Parameters)
                {
                    LookupTextures(mesh, parameter, model.TextureStrings);

                    if (mesh.BaseDiffuse != null && mesh.BumpMap != null && mesh.SpecMap != null)
                    {
                        break;
                    }
                }

                model.Meshes.Add(mesh);
            }

            //Bone Maps
            uint boneMapCount = binaryReader.ReadUInt32();

            model.BoneMaps = new List <BoneMap>((int)boneMapCount);

            for (int i = 0; i < boneMapCount; ++i)
            {
                BoneMap boneMap = BoneMap.LoadFromStream(binaryReader.BaseStream);

                if (boneMap != null)
                {
                    model.BoneMaps.Add(boneMap);
                }
            }

            //Bone Map Entries
            uint boneMapEntryCount = binaryReader.ReadUInt32();

            model.BoneMapEntries = new List <BoneMapEntry>((int)boneMapEntryCount);

            for (int i = 0; i < boneMapEntryCount; ++i)
            {
                BoneMapEntry boneMapEntry = BoneMapEntry.LoadFromStream(binaryReader.BaseStream);

                if (boneMapEntry != null)
                {
                    model.BoneMapEntries.Add(boneMapEntry);
                }
            }

            return(model);
        }
        public bool InitializeFromStream(string name, string displayName, Stream stream)
        {
            using (BinaryReader binaryReader = new BinaryReader(stream))
            {
                //Header
                byte[] magic = binaryReader.ReadBytes(4);

                if (magic[0] != 'D' ||
                    magic[1] != 'M' ||
                    magic[2] != 'O' ||
                    magic[3] != 'D')
                {
                    return(false);
                }

                Version = binaryReader.ReadUInt32();

                if (!Enum.IsDefined(typeof(ModelType), (int)Version))
                {
                    Debug.LogWarning("Could not decode model " + name + ". Unknown DME version " + Version);
                    return(false);
                }

                ModelType = (ModelType)Version;

                Name        = name;
                DisplayName = displayName;

                ModelHeaderOffset = binaryReader.ReadUInt32();

                //DMA
                Dma.LoadFromStream(binaryReader.BaseStream, TextureStrings, Materials);

                //Bounding Box
                Min = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());
                Max = new Vector3(binaryReader.ReadSingle(), binaryReader.ReadSingle(), binaryReader.ReadSingle());

                //Meshes
                uint meshCount = binaryReader.ReadUInt32();

                for (int i = 0; i < meshCount; ++i)
                {
                    Mesh mesh = Mesh.LoadFromStream(binaryReader.BaseStream, Materials);

                    if (mesh == null)
                    {
                        continue;
                    }

                    Material material = Materials[(int)mesh.MaterialIndex];
                    foreach (Material.Parameter parameter in material.Parameters)
                    {
                        LookupTextures(mesh, parameter, TextureStrings);

                        if (mesh.BaseDiffuse != null && mesh.BumpMap != null && mesh.SpecMap != null)
                        {
                            break;
                        }
                    }

                    Meshes.Add(mesh);
                }

                //Bone Maps
                uint boneMapCount = binaryReader.ReadUInt32();

                for (int i = 0; i < boneMapCount; ++i)
                {
                    BoneMap boneMap = BoneMap.LoadFromStream(binaryReader.BaseStream);

                    if (boneMap != null)
                    {
                        BoneMaps.Add(boneMap);
                    }
                }

                //Bone Map Entries
                uint boneMapEntryCount = binaryReader.ReadUInt32();

                for (int i = 0; i < boneMapEntryCount; ++i)
                {
                    BoneMapEntry boneMapEntry = BoneMapEntry.LoadFromStream(binaryReader.BaseStream);

                    if (boneMapEntry != null)
                    {
                        BoneMapEntries.Add(boneMapEntry);
                    }
                }

                return(true);
            }
        }
Ejemplo n.º 12
0
        public string ProcessRequest(string id)
        {
            string message               = "Sucussfully loaded data for ";
            string _nseUrlIo             = ConfigurationManager.AppSettings["NseUrlIO"].Replace("&amp;", "&");
            string _nseUrlBasic          = ConfigurationManager.AppSettings["NseUrlBasic"].Replace("&amp;", "&");
            string _nifty50              = ConfigurationManager.AppSettings["nifty50"].Replace("&amp;", "&");
            string _allFO                = ConfigurationManager.AppSettings["AllFO"].Replace("&amp;", "&");
            string _indexOnly            = ConfigurationManager.AppSettings["IndexOnly"].Replace("&amp;", "&");
            string _banknifty            = ConfigurationManager.AppSettings["Banknifty"].Replace("&amp;", "&");
            string _expiryDate           = ConfigurationManager.AppSettings["ExpiryDate"];
            string _masterDMAExcelSource = ConfigurationManager.AppSettings["MasterDMAExcelSource"];
            string _TodayCSVFile         = ConfigurationManager.AppSettings["TodayCSVFile"];
            string _masterDatapathOI     = ConfigurationManager.AppSettings["MasterDatapathOI"];
            string _masterDatapathBasic  = ConfigurationManager.AppSettings["MasterDatapathBasic"];
            string _masterDatapathDMA    = ConfigurationManager.AppSettings["MasterDatapathDMA"];



            BulkEntity objData  = new BulkEntity();
            Dma        objDma   = new Dma();
            OBJtoXML   xmltoObj = new OBJtoXML();

            try
            {
                string _list = "";

                if (id.Contains("IndexOnly"))
                {
                    _list   = _indexOnly;
                    message = message + " IndexOnly,";
                }
                else if (id.Contains("Banknifty"))
                {
                    _list   = _banknifty;
                    message = message + " Banknifty,";
                }
                else if (id.Contains("nifty50"))
                {
                    _list   = _nifty50;
                    message = message + " nifty50,";
                }
                else
                {
                    _list   = _allFO;
                    message = message + " All listed items.,";
                }

                foreach (string item in id.Split(','))
                {
                    if (item == "BasicData")
                    {
                        objData.BasicData = BasicData.ColletData(_nseUrlBasic, _list);
                        message           = message + " BasicData,";
                        xmltoObj.CreateXML(objData.BasicData, _masterDatapathBasic, "BasicData", false);


                        List <KeyValue> objLtpPrices = GenerateLastPrices(objData.BasicData);
                        objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, objLtpPrices, "");
                        message         = message + " DMA,";
                        xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "DMAData", false);
                    }
                    if (item == "DMA")
                    {
                        //DMA moved to Basic data refresh, when you click referesh request for the
                        //basic data then system refresh DMA data also
                        //So, no need to saparate request for the DMA.
                        //Presently signing off the DMA refresh option based on the data.csv file

                        objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, _TodayCSVFile, "");
                        message         = message + " DMA,";
                        xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "DMAData", false);
                    }
                    if (item == "OI")
                    {
                        IOData objOI = new IOData();
                        objData.OIData = objOI.LoadOIData(_nseUrlIo, _expiryDate, _list);
                        message        = message + " OI,";
                        xmltoObj.CreateXML(objData.OIData, _masterDatapathOI, "OIData", false);
                    }
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }

            return(message);
        }
Ejemplo n.º 13
0
        public static string LoadBasicData(string id)
        {
            string message               = "Sucussfully loaded data for ";
            string _nseUrlIo             = ConfigurationManager.AppSettings["NseUrlIO"].Replace("&amp;", "&");
            string _nseUrlBasic          = ConfigurationManager.AppSettings["NseUrlBasic"].Replace("&amp;", "&");
            string _nifty50              = ConfigurationManager.AppSettings["nifty50"].Replace("&amp;", "&");
            string _allFO                = ConfigurationManager.AppSettings["AllFO"].Replace("&amp;", "&");
            string _indexOnly            = ConfigurationManager.AppSettings["IndexOnly"].Replace("&amp;", "&");
            string _banknifty            = ConfigurationManager.AppSettings["Banknifty"].Replace("&amp;", "&");
            string _expiryDate           = ConfigurationManager.AppSettings["ExpiryDate"];
            string _masterDMAExcelSource = ConfigurationManager.AppSettings["MasterDMAExcelSource"];
            string _TodayCSVFile         = ConfigurationManager.AppSettings["TodayCSVFile"];
            string _masterDatapathOI     = ConfigurationManager.AppSettings["MasterDatapathOI"];
            string _masterDatapathBasic  = ConfigurationManager.AppSettings["MasterDatapathBasic"];
            string _masterDatapathDMA    = ConfigurationManager.AppSettings["MasterDatapathDMA"];



            BulkEntity objData  = new BulkEntity();
            Dma        objDma   = new Dma();
            OBJtoXML   xmltoObj = new OBJtoXML();

            try
            {
                string _list = "";

                if (id.Contains("IndexOnly"))
                {
                    _list   = _indexOnly;
                    message = message + " IndexOnly,";
                }
                else if (id.Contains("Banknifty"))
                {
                    _list   = _banknifty;
                    message = message + " Banknifty,";
                }
                else if (id.Contains("nifty50"))
                {
                    _list   = _nifty50;
                    message = message + " nifty50,";
                }
                else
                {
                    _list   = _allFO;
                    message = message + " All listed items.,";
                }

                foreach (string item in id.Split(','))
                {
                    if (item == "BasicData")
                    {
                        objData.BasicData = BasicData.ColletData(_nseUrlBasic, _list);
                        message           = message + " BasicData,";
                        xmltoObj.CreateXML(objData.BasicData, _masterDatapathBasic, "basicdata", true);

                        //Need to implement this one when master data been ready
                        //List<KeyValue> objLtpPrices = GenerateLastPrices(objData.BasicData);
                        //objData.DMAData = objDma.GetDmaData(_masterDMAExcelSource, objLtpPrices, "");
                        //message = message + " DMA,";
                        //xmltoObj.CreateXML(objData.DMAData, _masterDatapathDMA, "dmadata", true);
                    }
                    if (item == "OI")
                    {
                        IOData objOI = new IOData();
                        objData.OIData = objOI.LoadOIData(_nseUrlIo, _expiryDate, _list);
                        message        = message + " OI,";
                        xmltoObj.CreateXML(objData.OIData, _masterDatapathOI, "openinterest", true);
                    }
                }
            }
            catch (Exception ex)
            {
                message = ex.Message;
            }
            return(message);
        }