public static double?TryDouble(object val, bool useCulture = true)
        {
            double      num;
            CultureInfo info = useCulture ? CultureInfo.CurrentCulture : CultureInfo.InvariantCulture;

            if (val == null)
            {
                return(0.0);
            }
            if (IsNumber(val))
            {
                if (val is DateTime)
                {
                    return(new double?(DateTimeExtension.ToOADate((DateTime)val)));
                }
                if (val is TimeSpan)
                {
                    TimeSpan span = (TimeSpan)val;
                    return(new double?(span.TotalDays));
                }
                try
                {
                    return(new double?(Convert.ToDouble(val, (IFormatProvider)info)));
                }
                catch (InvalidCastException)
                {
                    return(null);
                }
            }
            if ((val is string) && double.TryParse((string)(val as string), (NumberStyles)NumberStyles.Any, (IFormatProvider)info, out num))
            {
                return(new double?(num));
            }
            return(null);
        }
Exemple #2
0
        private static SentItem ReadSentItem(dynamic item)
        {
            Market.AppId.AppName?appId = null;
            if (item.app_id != null)
            {
                appId = (Market.AppId.AppName)(int) item.app_id;
            }
            string   itemId         = item.item_id ?? null;
            string   marketHashName = item.market_hash_name ?? null;
            string   image          = item.image ?? null;
            double?  price          = item.price ?? null;
            double?  suggestedPrice = item.suggested_price ?? null;
            DateTime?withdrawableAt = null;

            if (item.withdrawable_at != null)
            {
                withdrawableAt = DateTimeExtension.FromUnixTime((long)item.withdrawable_at);
            }
            DateTime?deliveredAt = null;

            if (item.delivered_at != null)
            {
                deliveredAt = DateTimeExtension.FromUnixTime((long)item.delivered_at);
            }

            SentItem sentItem = new SentItem(appId, itemId, marketHashName, image, price, suggestedPrice, withdrawableAt, deliveredAt);

            return(sentItem);
        }
        public static DateTime?TryDateTime(object val, bool useCulture = true)
        {
            CultureInfo info = useCulture ? CultureInfo.CurrentCulture : CultureInfo.InvariantCulture;

            if (val == null)
            {
                return(new DateTime?(DateTimeExtension.FromOADate(0.0)));
            }
            if (IsNumber(val))
            {
                if (val is DateTime)
                {
                    return(new DateTime?((DateTime)val));
                }
                if (val is TimeSpan)
                {
                    TimeSpan span = (TimeSpan)val;
                    return(new DateTime?(DateTimeExtension.FromOADate(span.TotalDays)));
                }
                double?nullable = TryDouble(val, useCulture);
                if (nullable.HasValue)
                {
                    return(new DateTime?(DateTimeExtension.FromOADate(nullable.Value)));
                }
            }
            else
            {
                DateTime time;
                if ((val is string) && DateTime.TryParse((string)(val as string), (IFormatProvider)info, (DateTimeStyles)DateTimeStyles.None, out time))
                {
                    return(new DateTime?(time));
                }
            }
            return(null);
        }
 public async Task <IList <RoverImageDto> > GetImageByRoverNameAndDate(string roverName, string inputdate)
 {
     return(await _marsRoverService.GetRoverImageByRoverNameAndDateFromCacheAsync(roverName, new RoverImageInputDto()
     {
         ImageDate = DateTimeExtension.ParseDateTime(inputdate),
     }));
 }
Exemple #5
0
        public static RDAFile FromUnmanaged(FileHeader.Version version, DirEntry dir, BlockInfo block, BinaryReader reader, RDAMemoryResidentHelper mrm)
        {
            RDAFile rdaFile = new RDAFile();

            rdaFile.FileName = dir.filename;
            rdaFile.Version  = version;
            if ((block.flags & 4) != 4)
            {
                if ((block.flags & 1) == 1)
                {
                    rdaFile.Flags |= Flag.Compressed;
                }
                if ((block.flags & 2) == 2)
                {
                    rdaFile.Flags |= Flag.Encrypted;
                }
            }
            if ((block.flags & 4) == 4)
            {
                rdaFile.Flags |= Flag.MemoryResident;
            }
            if ((block.flags & 8) == 8)
            {
                rdaFile.Flags |= Flag.Deleted;
            }
            rdaFile.Offset           = dir.offset;
            rdaFile.UncompressedSize = dir.filesize;
            rdaFile.CompressedSize   = dir.compressed;
            rdaFile.TimeStamp        = DateTimeExtension.FromTimeStamp(dir.timestamp);
            rdaFile.BinaryFile       = mrm == null ? reader : new BinaryReader(mrm.Data);
            return(rdaFile);
        }
 public async Task <IList <RoverImageDto> > GetImageByDate(string inputdate)
 {
     return(await _marsRoverService.GetRoverImageByDateAsync(new RoverImageInputDto()
     {
         ImageDate = DateTimeExtension.ParseDateTime(inputdate)
     }));
 }
Exemple #7
0
 public void OnDeserialization(byte[] bytes, SerializerSession settings)
 {
     this.AllBytes      = bytes;
     this.AllBytesE     = bytes.Reverse().ToArray();
     this.BytesAsString = BitConverter.ToString(AllBytes);
     if (this.Message != null && this.Message.GetType().Equals(typeof(SENSOR_GLUCOSE_READINGS_EXTENDED_Event)))
     {
         try
         {
             var reading = (SENSOR_GLUCOSE_READINGS_EXTENDED_Event)this.Message;
             for (int i = 0; i < reading.Details.Count; i++)
             {
                 if (reading.Timestamp.HasValue)
                 {
                     var read       = reading.Details[i];
                     var readingRtc = this.Rtc - (i * reading.MinutesBetweenReadings * 60);
                     read.Timestamp   = DateTimeExtension.GetDateTime(readingRtc, this.Offset);
                     read.PredictedSg = reading.PredictedSg;
                 }
             }
         }
         catch (Exception)
         {
             throw;
         }
     }
 }
Exemple #8
0
        public async Task <RevenueByCategoryViewModel> ExecuteAsync(DateTime startDate, DateTime endDate)
        {
            var distanceDays = DateTimeExtension.CountDays(startDate, endDate);
            var result       = new RevenueByCategoryViewModel();
            var ordersResult = await _getListOrderQuery.ExecuteAsync(0, 0, (int)OrderStatus.Completed, null, startDate, endDate, null);

            var ordersInPastResult = await _getListOrderQuery.ExecuteAsync(0, 0, (int)OrderStatus.Completed, null, startDate.AddDays(-distanceDays), endDate.AddDays(-distanceDays), null);

            var orderDetails = ordersResult.Items.SelectMany(n => n.OrderDetails).Where(n => n.CategoryId.HasValue).ToList();
            var totalRevenue = orderDetails.Sum(n => n.Quantity * n.Price);
            var categories   = await _orderDetailsRepository.TableNoTracking
                               .Where(n => n.CategoryId.HasValue)
                               .Select(n => new CategoryViewModel()
            {
                CategoryId   = n.CategoryId ?? 0,
                CategoryName = n.CategoryName
            })
                               .Distinct()
                               .ToListAsync();

            result.StartDate        = startDate;
            result.EndDate          = endDate;
            result.Details          = GetRevenueByCategoryDetail(categories, ordersResult.Items, ordersInPastResult.Items);
            result.CategoryRevenues = orderDetails
                                      .GroupBy(n => n.CategoryId)
                                      .Select(n => new CategoryRevenueViewModel()
            {
                CategoryId   = n.Key ?? 0,
                CategoryName = n.FirstOrDefault()?.CategoryName,
                TotalRevenue = n.Sum(x => x.Quantity * x.Price),
                Percent      = totalRevenue > 0 ? Math.Round(n.Sum(x => x.Quantity * x.Price) / totalRevenue * 100, 2) : 0
            }).ToList();

            return(result);
        }
Exemple #9
0
        private bool HTTPGetCandidates()
        {
            HttpWebRequest request =
                (HttpWebRequest)WebRequest.Create($"{m_url}/signaling/candidate?fromtime={m_lastTimeGetCandidateRequest}");

            request.Method      = "GET";
            request.ContentType = "application/json";
            request.Headers.Add("Session-Id", m_sessionId);
            request.KeepAlive = false;

            HttpWebResponse response = HTTPGetResponse(request);
            CandidateContainerResDataList containers = HTTPParseJsonResponse <CandidateContainerResDataList>(response);

            if (containers == null)
            {
                return(false);
            }
            m_lastTimeGetCandidateRequest = DateTimeExtension.ParseHttpDate(response.Headers[HttpResponseHeader.Date])
                                            .ToJsMilliseconds();

            foreach (var candidateContainer in containers.candidates)
            {
                foreach (var candidate in candidateContainer.candidates)
                {
                    candidate.connectionId = candidateContainer.connectionId;
                    m_mainThreadContext.Post(d => OnIceCandidate?.Invoke(this, candidate), null);
                }
            }

            return(true);
        }
Exemple #10
0
        public void Start()
        {
            if (TaskRepository == null)
            {
                throw new Exception("Do not find TaskRepository!");
            }


            new Task(() =>
            {
                while (true)
                {
                    var currenttask = TaskRepository.DequeueTinctTask();
                    var runnodes    = TaskRepository.GetTaskRuntimeNodeNames(currenttask);
                    var node        = GetRunningNode(TinctMasterNode.Current.SlaveNodes, runnodes);

                    if (string.IsNullOrEmpty(node))
                    {
                        TaskRepository.AddWaittingTask(currenttask);
                        continue;
                    }

                    currenttask.TargetNodeName = node;
                    currenttask.StartTime      = DateTimeExtension.GetTimeStamp();
                    currenttask.Status         = TinctTaskStatus.Running;
                    var message = BuildTaskMessage(currenttask, CommandType.Run);

                    TinctMasterNode.Current.SendMessage(node, message);
                    TaskRepository.AddRunningTask(currenttask);
                }
            }).Start();
        }
        public override void createTestFixture()
        {
            base.createTestFixture();
            ObjectsConverter.Configure();
            configureLogging();
            clientInformation = new ClientInformation()
            {
                Version = Const.ServiceVersion
            };
            clientInformation.ApplicationLanguage = "en";
            clientInformation.PlatformVersion     = "fgfdgdfg";
            clientInformation.ApplicationVersion  = "1.0.0.0";
            var conf = new ConfigurationSourceBuilder();

            conf.ConfigureCaching().ForCacheManagerNamed(SecurityManager.AuthenticationCacheName).StoreInMemory();

            var configSource = new DictionaryConfigurationSource();

            conf.UpdateConfigurationWithReplace(configSource);

            var xmlStream       = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml");
            var paymentsManager = new PaymentsManager();

            this.paymentsManager = paymentsManager.Load(xmlStream);
            InternalBodyArchitectService.PaymentsManager = this.paymentsManager;
            EnterpriseLibraryContainer.Current           = EnterpriseLibraryContainer.CreateDefaultContainer(configSource);
        }
        private ObservableCollection <ConferenceModelGrouping> LoadListGroupingItems(IList <Conference> conferencesServiceCall)
        {
            ConferenceModelGrouping janGrouping = new ConferenceModelGrouping(1);
            ConferenceModelGrouping febGrouping = new ConferenceModelGrouping(2);
            ConferenceModelGrouping marGrouping = new ConferenceModelGrouping(3);
            ConferenceModelGrouping aprGrouping = new ConferenceModelGrouping(4);
            ConferenceModelGrouping mayGrouping = new ConferenceModelGrouping(5);
            ConferenceModelGrouping junGrouping = new ConferenceModelGrouping(6);
            ConferenceModelGrouping jylGrouping = new ConferenceModelGrouping(7);

            var grouping = new ObservableCollection <ConferenceModelGrouping>()
            {
                janGrouping,
                febGrouping,
                marGrouping,
                aprGrouping,
                mayGrouping,
                junGrouping,
                jylGrouping,
            };

            foreach (var group in grouping)
            {
                var monthElements = conferencesServiceCall
                                    .Where(e => DateTimeExtension.IntToMonthName(e.Date.Month) == group.MonthName);

                foreach (var me in monthElements)
                {
                    group.Add(me);
                }
            }

            return(grouping);
        }
        public Account GetByBranchNumberAndAccountNumber(string branchNumber, string accountNumber)
        {
            try
            {
                using (var cmd = DbConnection().CreateCommand())
                {
                    cmd.CommandText = $"SELECT * FROM {tableName} WHERE BranchNumber=@BranchNumber AND AccountNumber=@AccountNumber ";
                    cmd.Parameters.AddWithValue("@BranchNumber", branchNumber);
                    cmd.Parameters.AddWithValue("@AccountNumber", accountNumber);

                    var reader = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        return(new Account
                        {
                            Id = reader.GetFieldValue <int>("Id"),
                            BranchNumber = reader.GetFieldValue <string>("BranchNumber"),
                            AccountNumber = reader.GetFieldValue <string>("AccountNumber"),
                            ClientTaxId = reader.GetFieldValue <string>("ClientTaxId"),
                            Balance = reader.GetFieldValue <double>("Balance"),
                            LastBalanceUpdate = DateTimeExtension.FromUnixTimeStamp(reader.GetFieldValue <int>("LastBalanceUpdate"))
                        });
                    }

                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private bool HTTPConnect()
        {
            HttpWebRequest request =
                (HttpWebRequest)WebRequest.Create($"{m_url}/signaling/connection");

            request.Method      = "PUT";
            request.ContentType = "application/json";
            request.Headers.Add("Session-Id", m_sessionId);
            request.KeepAlive = false;

            HttpWebResponse         response = HTTPGetResponse(request);
            CreateConnectionResData data     = HTTPParseJsonResponse <CreateConnectionResData>(response);

            if (data == null)
            {
                return(false);
            }

            m_lastTimeGetOfferRequest = DateTimeExtension.ParseHttpDate(response.Headers[HttpResponseHeader.Date])
                                        .ToJsMilliseconds();

            OnCreateConnection?.Invoke(this, data.connectionId);

            return(true);
        }
 public void OnDeserialization(byte[] bytes, SerializerSession settings)
 {
     this.FromDateTime = DateTimeExtension.GetDateTime(FromRtc, settings.PumpTime.OffSet);
     //255*4 is now, I think..... need to handle this....
     this.ToDateTime = DateTimeExtension.GetDateTime(ToRtc, settings.PumpTime.OffSet);
     settings.PumpDataHistory.CurrentMultiPacketHandler.WaitingForSegment = false;
 }
Exemple #16
0
        internal static ItemOnSale ReadItemOnSale(dynamic item)
        {
            string   itemId         = item.item_id ?? null;
            string   marketHashName = item.market_hash_name ?? null;
            string   itemType       = item.item_type ?? null;
            string   image          = item.image ?? null;
            double?  price          = item.price ?? null;
            double?  suggestedPrice = item.suggested_price ?? null;
            double?  floatValue     = item.float_value ?? null;
            bool?    isMine         = item.is_mine ?? null;
            DateTime?updatedAt      = null;

            if (item.updated_at != null)
            {
                updatedAt = DateTimeExtension.FromUnixTime((long)item.updated_at);
            }
            DateTime?withdrawableAt = null;

            if (item.withdrawable_at != null)
            {
                withdrawableAt = DateTimeExtension.FromUnixTime((long)item.withdrawable_at);
            }

            ItemOnSale itemOnSale = new ItemOnSale(itemId, marketHashName, itemType, image, price,
                                                   suggestedPrice, floatValue, isMine, updatedAt, withdrawableAt);

            return(itemOnSale);
        }
Exemple #17
0
        public OptResult Login(LoginVM vmLogin)
        {
            OptResult rst = null;

            if (vmLogin == null)
            {
                rst = OptResult.Build(ResultCode.ParamError, "参数不能为空");
                return(rst);
            }

            rst = _usrSrv.Login(vmLogin.username, vmLogin.pwd);

            if (rst.code == ResultCode.Success)
            {
                //生成JWT
                var payload = new TokenData
                {
                    iss = rst.data.user_id,
                    iat = (int)(DateTime.UtcNow - DateTimeExtension.GetMinUtcTime()).TotalSeconds
                };

                string token = JWT.JsonWebToken.Encode(payload, ApiContext.JwtSecretKey, JWT.JwtHashAlgorithm.HS256);
                rst = OptResult.Build(ResultCode.Success, "用户登录成功,并已生成token", new { token = token, usrid = rst.data.user_id });
            }

            return(rst);
        }
        public override Account Get(Int64 id)
        {
            try
            {
                using (var cmd = DbConnection().CreateCommand())
                {
                    cmd.CommandText = $"SELECT * FROM {tableName} WHERE Id=@Id ";
                    cmd.Parameters.AddWithValue("@Id", id);

                    var reader = cmd.ExecuteReader();

                    if (reader.Read())
                    {
                        var statementEntryRepository = new StatementEntryRepository();

                        return(new Account
                        {
                            Id = reader.GetFieldValue <Int64>("Id"),
                            BranchNumber = reader.GetFieldValue <string>("BranchNumber"),
                            AccountNumber = reader.GetFieldValue <string>("AccountNumber"),
                            ClientTaxId = reader.GetFieldValue <string>("ClientTaxId"),
                            Balance = reader.GetFieldValue <double>("Balance"),
                            LastBalanceUpdate = DateTimeExtension.FromUnixTimeStamp(reader.GetFieldValue <Int64>("LastBalanceUpdate")),
                            StatementEntries = statementEntryRepository.GetByAccountId(id)
                        });
                    }

                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #19
0
        private bool HTTPGetAnswers()
        {
            HttpWebRequest request =
                (HttpWebRequest)WebRequest.Create($"{m_url}/signaling/answer?fromtime={m_lastTimeGetAnswerRequest}");

            request.Method      = "GET";
            request.ContentType = "application/json";
            request.Headers.Add("Session-Id", m_sessionId);
            request.KeepAlive = false;

            HttpWebResponse   response = HTTPGetResponse(request);
            AnswerResDataList list     = HTTPParseJsonResponse <AnswerResDataList>(response);

            if (list == null)
            {
                return(false);
            }

            m_lastTimeGetAnswerRequest = DateTimeExtension.ParseHttpDate(response.Headers[HttpResponseHeader.Date])
                                         .ToJsMilliseconds();

            foreach (var answer in list.answers)
            {
                m_mainThreadContext.Post(d => OnAnswer?.Invoke(this, answer), null);
            }

            return(true);
        }
Exemple #20
0
 public DateTime?GetDateTime(byte[] Rtc)
 {
     if (Rtc != null && this.OffSet != null)
     {
         return(DateTimeExtension.GetDateTime(Rtc, this.OffSet));
     }
     return(null);
 }
Exemple #21
0
        public void StaticCallVsExtensionCall()
        {
            var    dateTime = new DateTime(2019, 12, 21);
            string result1  = DateTimeExtension.ToXmlDateTimeString(dateTime);
            string result2  = dateTime.ToXmlDateTimeString();

            Assert.Equal(result1, result2);
        }
        public void QuandoSolicitaDiferencaEmAnosEntre15Mar2000e16Mar2020_DeveRetornar20Anos()
        {
            var dataInicio = new DateTime(2000, 03, 15);
            var dataAtual  = new DateTime(2020, 03, 16);
            var diferenca  = DateTimeExtension.DiferencaEmAnos(dataInicio, dataAtual);

            Assert.AreEqual(20, diferenca);
        }
        public void QuandoSolicitaDiferencaEmAnosEntre31Dez2019e01Jan2019_DeveRetornarDiferencaZero()
        {
            var dataInicio = new DateTime(2019, 01, 01);
            var dataAtual  = new DateTime(2019, 12, 31);
            var diferenca  = DateTimeExtension.DiferencaEmAnos(dataInicio, dataAtual);

            Assert.AreEqual(0, diferenca);
        }
Exemple #24
0
        public void TimeIntervalLessThanAnHour_ShouldValidateInterval(string date1, string date2, bool expected)
        {
            //arrange & act
            var result = DateTimeExtension.TimeIntervalLessThanAnHour(DateTime.Parse(date1), DateTime.Parse(date2));

            //assert
            Assert.Equal(expected, result);
        }
        public void QuandoSolicitaDiferencaEmAnosEntre01Jan2020e01Jan2019_DeveRetornar1Ano()
        {
            var dataInicio = new DateTime(2019, 01, 01);
            var dataAtual  = new DateTime(2020, 01, 01);
            var diferenca  = DateTimeExtension.DiferencaEmAnos(dataInicio, dataAtual);

            Assert.AreEqual(1, diferenca);
        }
        public override void createTestFixture()
        {
            base.createTestFixture();

            var xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml");
            var manager1  = new PaymentsManager();

            manager = manager1.Load(xmlStream);
        }
        public void GetPointsForOffert()
        {
            var             xmlStream = DateTimeExtension.GetResource("BodyArchitect.UnitTests.V2.BAPointsTests.BAPoints.xml");
            PaymentsManager manager1  = new PaymentsManager();
            var             manager   = manager1.Load(xmlStream);

            Assert.AreEqual(30, manager.GetPointsForOffert("BAPoints_30"));
            Assert.AreEqual(0, manager.GetPointsForOffert("NotExistingOffert"));
        }