private void CopyTest()
        {
            byte[] source = new byte[200 * 1024 * 1024];
            byte[] dest   = new byte[200 * 1024 * 1024];

            for (int i = 0; i < source.Length; i++)
            {
                source[i] = (byte)(i % 256);
            }

            long startTicks = DateTime.Now.Ticks;

            Buffer.BlockCopy(source, 0, dest, 0, source.Length);

            long endTicks = DateTime.Now.Ticks;

            Platform.Log(LogLevel.Info, "BlockCopy : {0} ms", new TimeSpan(endTicks - startTicks).TotalMilliseconds);

            startTicks = DateTime.Now.Ticks;

            Array.Copy(source, dest, source.Length);

            endTicks = DateTime.Now.Ticks;

            Platform.Log(LogLevel.Info, "ArrayCopy : {0} ms", new TimeSpan(endTicks - startTicks).TotalMilliseconds);

            startTicks = DateTime.Now.Ticks;

            CopyClass.UnsafeCopy(source, 0, dest, 0, source.Length);

            endTicks = DateTime.Now.Ticks;

            Platform.Log(LogLevel.Info, "UnsafeCopy : {0} ms", new TimeSpan(endTicks - startTicks).TotalMilliseconds);
        }
        public void UpdateArea(int id, Area area)
        {
            var areaUpdate = _context.Areas.SingleOrDefault(a => a.Id == id);

            CopyClass.CopyArea(area, areaUpdate);
            _context.Areas.Update(areaUpdate);
            Save();
        }
 public static FullClass ToFullClass(CopyClass from)
 {
     return(new FullClass
     {
         x = from.x,
         y = from.y,
         z = default         // ?
     });
        public void UpdateParkingSpace(int id, ParkingSpace parkingSpace)
        {
            var updateParkingSpace = _context.ParkingSpaces.SingleOrDefault(pl => pl.Id == id);

            CopyClass.CopyParkingSpace(parkingSpace, updateParkingSpace);
            _context.ParkingSpaces.Update(updateParkingSpace);
            Save();
        }
        public void UpdateCity(int id, City city)
        {
            var cityUpdate = _context.Cities.SingleOrDefault(c => c.Id == id);

            CopyClass.CopyCity(city, cityUpdate);
            _context.Cities.Update(cityUpdate);
            Save();
        }
        public void UpdateParkingLot(int id, ParkingLot parkingLot)
        {
            var updateParkingLot = _context.ParkingLots.SingleOrDefault(pl => pl.Id == id);

            CopyClass.CopyParkingLot(parkingLot, updateParkingLot);
            _context.ParkingLots.Update(updateParkingLot);
            Save();
        }
Esempio n. 7
0
        public Resource_VirtualMachine(bool _multiVM, bool _hasDataDisk, bool _useAvSet, bool _useDiagAcc, bool _createNewDiagAcc)
        {
            // Name
            Name = _multiVM ?
                   "[concat(variables('VM_NamePrefix'), copyIndex(1))]" :
                   "[variables('VM_NamePrefix')]";

            // Type
            Type = "Microsoft.Compute/virtualMachines";

            // ApiVersion
            ApiVersion = "2018-04-01";

            // Location
            Location = "[variables('location')]";

            // DependsOn
            DependsOn = new List <string>();

            // NIC, must have, but multiple VMs and single VM wil have different names.
            if (_multiVM)
            {
                DependsOn.Add("[concat('Microsoft.Network/networkInterfaces/', variables('VM_NamePrefix'), copyIndex(1), '-nic')]");
            }
            else
            {
                DependsOn.Add("[concat('Microsoft.Network/networkInterfaces/', variables('VM_NamePrefix'), '-nic')]");
            }

            // Availability Set
            if (_useAvSet)
            {
                DependsOn.Add("[concat('Microsoft.Compute/availabilitySets/', variables('AvSet_Name'))]");
            }

            // Diagnostic Account if create required
            if (_createNewDiagAcc)
            {
                DependsOn.Add("[concat('Microsoft.Storage/storageAccounts/', variables('DiagnosticsStorageAccount_Name'))]");
            }

            // Copy, for multiple VMs
            if (_multiVM)
            {
                Copy = new CopyClass {
                    Name = "MultiVMLoop", Count = "[variables('VM_InstanceCount')]"
                };
            }

            // Property
            Properties = new Property_VirtualMachine(_multiVM, _hasDataDisk, _useAvSet, _useDiagAcc);
        }
Esempio n. 8
0
            public NormalClass(int i, NormalClass test, CopyClass copy, IgnoreClass ignore)
            {
                _int         = i;
                _readonlyInt = i;

                Test         = test;
                ReadonlyTest = test;

                Copy     = copy;
                CopyProp = test;

                Ignore     = ignore;
                IgnoreProp = test;
                IgnoreCopy = copy;
            }
        public async Task <CommunicationResponse> Handle(SendEmailRequest Request, CancellationToken cancellationToken)
        {
            try
            {
                var Email = new EmailQueue()
                {
                    EmailType   = Request.EmailType,
                    Recepient   = Request.Recepient,
                    Attachment  = Request.Attachment,
                    BCC         = Request.BCC,
                    CC          = Request.CC,
                    Body        = Request.Body,
                    Status      = Convert.ToInt16(MessageStatusType.Initialize),
                    Subject     = Request.Subject,
                    CreatedDate = DateTime.UtcNow
                };
                _MessageRepository.Add(Email);
                Email.InQueueMessage();
                _MessageRepository.Update(Email);
                IQueryable Result = await _MessageConfiguration.GetAPIConfigurationAsync(1, 2);

                foreach (CommunicationProviderList Provider in Result)
                {
                    string Response = await _MessageService.SendEmailAsync(Email.Recepient, Email.Subject, Email.BCC, Email.CC, Email.Body, Provider.SendURL, Provider.UserID, Provider.Password, Convert.ToInt16(Provider.SenderID));

                    Email.BCC = Response;
                    CopyClass.CopyObject(Provider, ref _GetDataForParsingAPI);
                    _GenerateResponse = _WebApiParseResponse.ParseResponseViaRegex(Response, _GetDataForParsingAPI);
                    if (_GenerateResponse.Status == enTransactionStatus.Success)
                    {
                        Email.SentMessage();
                        _MessageRepository.Update(Email);
                        return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Success, ReturnMsg = EnResponseMessage.EMailSuccessMessage }));
                    }
                    else
                    {
                        continue;
                    }
                }
                Email.FailMessage();
                _MessageRepository.Update(Email);
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Fail, ReturnMsg = EnResponseMessage.EmailFailMessage }));
            }
            catch (Exception ex)
            {
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.InternalError, ReturnMsg = EnResponseMessage.EmailExceptionMessage }));
            }
        }
Esempio n. 10
0
        public async Task <CommunicationResponse> Handle(SendSMSRequest Request, CancellationToken cancellationToken)
        {
            try
            {
                var Message = new MessagingQueue()
                {
                    MobileNo    = Request.MobileNo,
                    SMSText     = Request.Message,
                    SMSSendBy   = 0,
                    Status      = Convert.ToInt16(enMessageService.Init),
                    CreatedBy   = 1,
                    CreatedDate = DateTime.UtcNow
                };
                _MessageRepository.Add(Message);
                Message.InQueueMessage();
                _MessageRepository.Update(Message);
                IQueryable Result = await _MessageConfiguration.GetAPIConfigurationAsync(1, 1);

                foreach (CommunicationProviderList Provider in Result)
                {
                    string Response = await _MessageService.SendSMSAsync(Message.MobileNo, Message.SMSText, Provider.SendURL, Provider.SenderID, Provider.UserID, Provider.Password);

                    //string Response = " GUID:2387354506261631296 , responseTime:2018-10-05 16:00:46";
                    CopyClass.CopyObject(Provider, ref _GetDataForParsingAPI);
                    _GenerateResponse = _WebApiParseResponse.ParseResponseViaRegex(Response, _GetDataForParsingAPI);
                    if (_GenerateResponse.Status == enTransactionStatus.Success)
                    {
                        Message.SentMessage();
                        Message.RespText = Response;
                        _MessageRepository.Update(Message);
                        return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Success, ReturnMsg = EnResponseMessage.SMSSuccessMessage }));
                    }
                    else
                    {
                        continue;
                    }
                }
                Message.FailMessage();
                _MessageRepository.Update(Message);
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Fail, ReturnMsg = EnResponseMessage.SMSFailMessage }));
            }
            catch (Exception ex)
            {
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.InternalError, ReturnMsg = EnResponseMessage.SMSExceptionMessage }));
            }
        }
        public async Task <CommunicationResponse> Handle(SendNotificationRequest Request, CancellationToken cancellationToken)
        {
            try
            {
                var Notification = new NotificationQueue()
                {
                    Message      = Request.Message,
                    Subject      = Request.Subject,
                    DeviceID     = Request.DeviceID,
                    TickerText   = Request.TickerText,
                    ContentTitle = Request.ContentTitle,
                    Status       = 0,
                    CreatedBy    = 1,
                    CreatedDate  = DateTime.UtcNow
                };
                _MessageRepository.Add(Notification);
                Notification.InQueueMessage();
                _MessageRepository.Update(Notification);
                IQueryable Result = await _MessageConfiguration.GetAPIConfigurationAsync(1, 2);

                foreach (CommunicationProviderList Provider in Result)
                {
                    string Response = await _MessageService.SendNotificationAsync(Notification.DeviceID, Notification.TickerText, Notification.ContentTitle, Notification.Message, Provider.SendURL, Provider.RequestFormat, Provider.SenderID, Provider.MethodType, Provider.ContentType);

                    CopyClass.CopyObject(Provider, ref _GetDataForParsingAPI);
                    _GenerateResponse = _WebApiParseResponse.ParseResponseViaRegex(Response, _GetDataForParsingAPI);
                    if (_GenerateResponse.Status == enTransactionStatus.Success)
                    {
                        Notification.SentMessage();
                        _MessageRepository.Update(Notification);
                        return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Success, ReturnMsg = EnResponseMessage.NotificationSuccessMessage }));
                    }
                    else
                    {
                        continue;
                    }
                }
                Notification.FailMessage();
                _MessageRepository.Update(Notification);
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.Fail, ReturnMsg = EnResponseMessage.NotificationFailMessage }));
            }
            catch (Exception ex)
            {
                return(await Task.FromResult(new CommunicationResponse { ReturnCode = enResponseCode.InternalError, ReturnMsg = EnResponseMessage.NotificationExceptionMessage }));
            }
        }
        public Resource_NetworkInterface(bool _multiVM, bool _nsgOnNIC, bool _usePIP, bool _createNewVnet)
        {
            Name = _multiVM ?
                   "[concat(variables('VM_NamePrefix'), copyIndex(1), '-nic')]" :
                   "[concat(variables('VM_NamePrefix'), '-nic')]";

            Type       = "Microsoft.Network/networkInterfaces";
            ApiVersion = "2018-04-01";
            Location   = "[variables('Location')]";

            DependsOn = new List <string>();

            if (_createNewVnet)
            {
                DependsOn.Add("[concat('Microsoft.Network/virtualNetworks/', variables('VNET_Name'))]");
            }

            if (_usePIP)
            {
                if (_multiVM)
                {
                    DependsOn.Add("[concat('Microsoft.Network/publicIpAddresses/', variables('VM_NamePrefix'), copyIndex(1), '-pip')]");
                }
                else
                {
                    DependsOn.Add("[concat('Microsoft.Network/publicIpAddresses/', variables('VM_NamePrefix'), '-pip')]");
                }
            }

            if (_nsgOnNIC)
            {
                DependsOn.Add("[concat('Microsoft.Network/networkSecurityGroups/', variables('NSG_Name'))]");
            }

            if (_multiVM)
            {
                Copy = new CopyClass {
                    Name = "MultiVMNICLoop", Count = "[variables('VM_InstanceCount')]"
                };
            }

            Properties = new Property_NetworkInterface(_multiVM, _nsgOnNIC, _usePIP);
        }
Esempio n. 13
0
        public void CopyData()
        {
            CopyClass copyClassA = new CopyClass(10, 20);
            CopyClass copyClassB = copyClassA; // 참조복사가 일어난다.

            copyClassB.x = 100;
            copyClassB.y = 200;

            Console.WriteLine("CopyClass A = X : " + copyClassA.x + ", Y: " + copyClassA.y);
            Console.WriteLine("CopyClass A = X : " + copyClassB.x + ", Y: " + copyClassB.y);

            CopyStruct copyStructA = new CopyStruct(10, 20);
            CopyStruct copyStructB = copyStructA; //값 복사가 일어난다.

            copyStructB.x = 100;
            copyStructB.y = 200;

            Console.WriteLine("copyStruct A = X : " + copyStructA.x + ", Y: " + copyStructA.y);
            Console.WriteLine("copyStruct B = X : " + copyStructB.x + ", Y: " + copyStructB.y);
        }
Esempio n. 14
0
        public Resource_PublicIPAddress(bool _multiVM)
        {
            Name = _multiVM ?
                   "[concat(variables('VM_NamePrefix'), copyIndex(1), '-pip')]"
                : "[concat(variables('VM_NamePrefix'), '-pip')]";

            Type       = "Microsoft.Network/publicIPAddresses";
            ApiVersion = "2018-04-01";
            Location   = "[variables('Location')]";

            if (_multiVM)
            {
                Copy = new CopyClass {
                    Name = "MultiVMPIPLoop", Count = "[variables('VM_InstanceCount')]"
                };
            }

            Properties = new Property_PublicIPAddress();

            Sku = new SKUClass {
                name = "[variables('PIP_Sku')]"
            };
        }