Here are the examples of the csharp api System.DateTime.AddHours(double) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
1095 Examples
19
Source : CSRedisClientKeyTests.cs
with MIT License
from 2881099
with MIT License
from 2881099
[Fact]
public void ExpireAt() {
replacedert.True(rds.MSet("TestExpireAt_null1", base.Null, "TestExpireAt_string1", base.String, "TestExpireAt_bytes1", base.Bytes, "TestExpireAt_clreplaced1", base.Clreplaced));
replacedert.True(rds.ExpireAt("TestExpireAt_null1", DateTime.UtcNow.AddSeconds(10)));
replacedert.InRange(rds.Ttl("TestExpireAt_null1"), 9, 20);
replacedert.True(rds.ExpireAt("TestExpireAt_string1", DateTime.UtcNow.AddHours(1)));
replacedert.InRange(rds.Ttl("TestExpireAt_string1"), 60 * 60 - 10, 60 * 60 + 10);
}
19
Source : CSRedisClientKeyTests.cs
with MIT License
from 2881099
with MIT License
from 2881099
[Fact]
public void PExpireAt() {
replacedert.True(rds.MSet("TestPExpireAt_null1", base.Null, "TestPExpireAt_string1", base.String, "TestPExpireAt_bytes1", base.Bytes, "TestPExpireAt_clreplaced1", base.Clreplaced));
replacedert.True(rds.ExpireAt("TestPExpireAt_null1", DateTime.UtcNow.AddSeconds(10)));
replacedert.InRange(rds.PTtl("TestPExpireAt_null1"), 9000, 20000);
replacedert.True(rds.ExpireAt("TestPExpireAt_string1", DateTime.UtcNow.AddHours(1)));
replacedert.InRange(rds.PTtl("TestPExpireAt_string1"), 1000 * 60 * 60 - 10000, 1000 * 60 * 60 + 10000);
}
19
Source : KeysTests.cs
with MIT License
from 2881099
with MIT License
from 2881099
[Fact]
public void ExpireAt()
{
cli.MSet("TestExpireAt_null1", base.Null, "TestExpireAt_string1", base.String, "TestExpireAt_bytes1", base.Bytes, "TestExpireAt_clreplaced1", base.Clreplaced);
replacedert.True(cli.ExpireAt("TestExpireAt_null1", DateTime.UtcNow.AddSeconds(10)));
replacedert.InRange(cli.Ttl("TestExpireAt_null1"), 9, 20);
replacedert.True(cli.ExpireAt("TestExpireAt_string1", DateTime.UtcNow.AddHours(1)));
replacedert.InRange(cli.Ttl("TestExpireAt_string1"), 60 * 60 - 10, 60 * 60 + 10);
}
19
Source : KeysTests.cs
with MIT License
from 2881099
with MIT License
from 2881099
[Fact]
public void PExpireAt()
{
cli.MSet("TestPExpireAt_null1", base.Null, "TestPExpireAt_string1", base.String, "TestPExpireAt_bytes1", base.Bytes, "TestPExpireAt_clreplaced1", base.Clreplaced);
replacedert.True(cli.ExpireAt("TestPExpireAt_null1", DateTime.UtcNow.AddSeconds(10)));
replacedert.InRange(cli.PTtl("TestPExpireAt_null1"), 9000, 20000);
replacedert.True(cli.ExpireAt("TestPExpireAt_string1", DateTime.UtcNow.AddHours(1)));
replacedert.InRange(cli.PTtl("TestPExpireAt_string1"), 1000 * 60 * 60 - 10000, 1000 * 60 * 60 + 10000);
}
19
Source : NpcEventHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task Handle(ChatWithNpcEvent message, CancellationToken cancellationToken)
{
var playerId = message.PlayerId;
var npcId = message.NpcId;
await _redisDb.StringSet<int>(string.Format(RedisKey.ChatWithNpc, playerId, npcId), 1, DateTime.Now.AddDays(30));
await _redisDb.StringSet<int>(string.Format(RedisKey.ChatWithNpcLike, playerId, npcId), 1, DateTime.Now.AddHours(1));
}
19
Source : TokenManager.cs
with Apache License 2.0
from 91270
with Apache License 2.0
from 91270
public string CreateSession(Sys_Users userInfo, SourceType source, int hours)
{
var userSession = Guid.NewGuid().ToString().ToUpper();
//判断用户是否只允许等于一次
if (userInfo.OneSession)
{
RemoveAllSession(userInfo.UserID);
}
var expireTime = DateTime.Now.AddHours(hours);
var timeSpan = new TimeSpan(hours, 0, 0);
//将 Session 添加用户 Session 列表
RedisServer.Session.HSet(userInfo.UserID, userSession, expireTime);
RedisServer.Session.Expire(userInfo.UserID, timeSpan);
//设置 Session 信息
var userSessionVM = new UserSessionVM()
{
UserID = userInfo.UserID,
UserName = userInfo.UserName,
NickName = userInfo.NickName,
Email = userInfo.Email,
Sex = userInfo.Sex,
AvatarUrl = userInfo.AvatarUrl,
QQ = userInfo.QQ,
Phone = userInfo.Phone,
ProvinceID = userInfo.ProvinceID,
Province = userInfo.Province,
CityID = userInfo.CityID,
City = userInfo.City,
CountyID = userInfo.CountyID,
County = userInfo.County,
Address = userInfo.Address,
Remark = userInfo.Remark,
IdenreplacedyCard = userInfo.IdenreplacedyCard,
Birthday = userInfo.Birthday,
CreateTime = userInfo.CreateTime,
Enabled = userInfo.Enabled,
OneSession = userInfo.OneSession,
Source = source.ToString(),
KeepHours = hours,
Administrator = userInfo.Administrator,
UserPower = _usersService.GetUserPowers(userInfo.UserID),
UserRelation = _usersService.GetUserRelation(userInfo.UserID),
};
RedisServer.Session.HSet(userSession, "UserInfo", userSessionVM);
RedisServer.Session.Expire(userSession, timeSpan);
//添加在线记录表
_onlineService.Add(new Sys_Online()
{
SessionID = userSession,
UserID = userInfo.UserID,
Source = source.ToString(),
IPAddress = _accessor.HttpContext.Connection.RemoteIpAddress?.MapToIPv4().ToString(),
LoginTime = DateTime.Now,
UpdateTime = DateTime.Now
});
_usersService.Update(m => m.UserID == userInfo.UserID, m => new Sys_Users { LastLoginTime = DateTime.Now });
return userSession;
}
19
Source : Job1TimedService.cs
with Apache License 2.0
from 91270
with Apache License 2.0
from 91270
private void RemoveExpiredSession(string source, int hours)
{
using (var scope = _serviceProvider.CreateScope())
{
var _onlineService = scope.ServiceProvider.GetService<ISysOnlineService>();
DateTime expireTime = DateTime.Now.AddHours(-hours);
var usersExpired = _onlineService.GetWhere(m => m.UpdateTime < expireTime && m.Source == source);
foreach (var session in usersExpired)
{
//删除 Session
RedisServer.Session.Del(session.SessionID);
//删除用户 Session 列表中的 Session
RedisServer.Session.HDel(session.UserID, session.SessionID);
_onlineService.Delete(session.SessionID);
}
}
}
19
Source : PlayerCommandHandler.cs
with GNU Lesser General Public License v3.0
from 8720826
with GNU Lesser General Public License v3.0
from 8720826
public async Task<Unit> Handle(InitGameCommand command, CancellationToken cancellationToken)
{
_logger.LogDebug($"Handle InitGameCommand:{JsonConvert.SerializeObject(command)}");
var playerId = command.PlayerId;
if (playerId <= 0)
{
await _bus.RaiseEvent(new DomainNotification($"请重新进入!"));
return Unit.Value;
}
var player = await _playerDomainService.Get(playerId);
if (player == null)
{
await _bus.RaiseEvent(new DomainNotification($"角色不存在!"));
return Unit.Value;
}
var room = await _roomDomainService.Get(player.RoomId);
if (room == null)
{
await _bus.RaiseEvent(new DomainNotification("房间不存在!"));
return Unit.Value;
}
player.LastDate = DateTime.Now;
await _cache.GetOrCreateAsync(CacheKey.IsActivityIn24Hours, async x => {
x.AbsoluteExpiration = DateTime.UtcNow.AddHours(24);
Random random = new Random();
player.Kar = random.Next(1, 100);
return await Task.FromResult(true);
});
player.Computed();
await _playerDomainService.Update(player);
if (await Commit())
{
await _bus.RaiseEvent(new InitGameEvent(player)).ConfigureAwait(false);
await _bus.RaiseEvent(new PlayerInRoomEvent(player, room)).ConfigureAwait(false);
}
return Unit.Value;
}
19
Source : TokenManager.cs
with Apache License 2.0
from 91270
with Apache License 2.0
from 91270
public void UpdateSession(string userSession)
{
DateTime lastUpdateTime = _memoryCache.Get<DateTime>(userSession);
if (Convert.ToDateTime(lastUpdateTime).AddMinutes(2) < DateTime.Now)
{
// 记录本次更新时间
_memoryCache.Set(userSession, DateTime.Now);
if (!string.IsNullOrEmpty(userSession))
{
//更新在线用户记录最后操作时间
_onlineService.Update(m => m.SessionID == userSession, m => new Sys_Online() { UpdateTime = DateTime.Now });
//根据 Session 取出 UserInfo
var userInfo = GetSessionItem<UserSessionVM>(userSession, "UserInfo");
var expireTime = DateTime.Now.AddHours(userInfo.KeepHours);
var timeSpan = new TimeSpan(userInfo.KeepHours, 0, 0);
//更新 Session 列表中的 Session 过期时间
RedisServer.Session.HSet(userInfo.UserID, userSession, expireTime);
//更新 Session 列表过期时间
RedisServer.Session.Expire(userInfo.UserID, timeSpan);
//更新 Session 过期时间
RedisServer.Session.Expire(userSession, timeSpan);
}
}
}
19
Source : SetPlayerInfo.cs
with Apache License 2.0
from AantCoder
with Apache License 2.0
from AantCoder
private ModelStatus setPlayerInfo(ModelPlayerInfo packet, ServiceContext context)
{
lock (context.Player)
{
var data = Repository.GetData;
if (context.Player.Public.EnablePVP != packet.EnablePVP)
{
if (context.Player.TimeChangeEnablePVP >= DateTime.UtcNow)
{
return new ModelStatus()
{
Status = 1,
Message = "You can’t change the status of PVP yet",
};
}
context.Player.TimeChangeEnablePVP = DateTime.UtcNow.AddHours(24);
context.Player.Public.EnablePVP = packet.EnablePVP;
}
context.Player.Public.AboutMyText = packet.AboutMyTextBox;
context.Player.Public.EMail = packet.EMail;
context.Player.Public.DiscordUserName = packet.DiscordUserName;
context.Player.SettingDelaySaveGame = packet.DelaySaveGame;
}
return new ModelStatus();
}
19
Source : PlayerServer.cs
with Apache License 2.0
from AantCoder
with Apache License 2.0
from AantCoder
public bool GetKeyReconnect()
{
if ((DateTime.UtcNow - KeyReconnectTime).TotalMinutes < 30
&& !string.IsNullOrEmpty(KeyReconnect1))
return false;
KeyReconnectTime = DateTime.UtcNow;
var rnd = new Random((int)(DateTime.UtcNow.Ticks & int.MaxValue));
var key = "o6*#fn`~ыggTgj0&9 gT54Qa[g}t,23rfr4*vcx%%4/\"d!2" + rnd.Next(int.MaxValue).ToString()
+ DateTime.UtcNow.Date.AddHours(DateTime.UtcNow.Hour).ToBinary().ToString()
+ Public.Login;
var hash = new CryptoProvider().GetHash(key);
KeyReconnect2 = KeyReconnect1;
KeyReconnect1 = hash;
return true;
}
19
Source : UserStatsGetterTests.cs
with MIT License
from Abdulrhman5
with MIT License
from Abdulrhman5
[TestMethod]
public async Task UsersCountOverToday_ThereIsDescreteData_ShouldReturn24Element()
{
var userRepo = new Mock<IRepository<string, AppUser>>();
var getter = new UserStatsGetter(userRepo.Object);
var users = new List<AppUser>
{
new AppUser
{
CreatedAt= DateTime.UtcNow.AddHours(-2),
},
new AppUser
{
CreatedAt= DateTime.UtcNow.AddHours(-2),
},
new AppUser
{
CreatedAt= DateTime.UtcNow.AddHours(-1),
},
};
userRepo.Setup(u => u.Table).Returns(users.AsQueryable());
var result = await getter.GetUsersCountOverToday();
replacedert.IsTrue(result.Count == 24);
}
19
Source : UserStatsGetter.cs
with MIT License
from Abdulrhman5
with MIT License
from Abdulrhman5
public async Task<List<int>> GetUsersCountOverToday()
{
// This will resolve to MM/DD/YYYY 00:00:00
var startDate = DateTime.UtcNow.Date;
// This will resolve to MM/DD+1/YYYY 00:00:00
var endDate = DateTime.UtcNow.Date.AddDays(1);
var usersHourly = (from u in _usersRepo.Table
where u.CreatedAt >= startDate && u.CreatedAt <= endDate
group u by new
{
u.CreatedAt.Date,
u.CreatedAt.Hour
} into g
select new
{
Count = g.Count(),
Date = g.Key.Date,
Hour = g.Key.Hour
}).ToList();
var usersHourlyFormated = usersHourly.Select(u => new
{
Count = u.Count,
DateTime = new DateTime(u.Date.Year, u.Date.Month, u.Date.Day, u.Hour, 0, 0)
}).ToList();
var hours = Enumerable.Range(0, 24).Select(offset =>
{
var dateTime = startDate.AddHours(offset);
return dateTime;
}).ToList();
hours.ForEach(hour =>
{
if (!usersHourlyFormated.Any(u => u.DateTime == hour))
{
usersHourlyFormated.Add(new
{
Count = 0,
DateTime = hour
});
}
});
usersHourlyFormated = usersHourlyFormated.OrderBy(u => u.DateTime).ToList();
var stats = usersHourlyFormated.Select(u => u.Count).ToList();
return stats;
}
19
Source : CreateRegistrationCommandHandler.cs
with MIT License
from Abdulrhman5
with MIT License
from Abdulrhman5
public async Task<CommandResult<CreateRegistrationResultDto>> Handle(CreateRegistrationCommand request, CancellationToken cancellationToken)
{
ErrorMessage ObjectNotAvailable = new ErrorMessage
{
ErrorCode = "TRANSACTION.OBJECT.RESERVE.NOT.AVAILABLE",
Message = "This object is not available",
StatusCode = System.Net.HttpStatusCode.BadRequest
};
var user = await _userDataManager.AddCurrentUserIfNeeded();
if (user.Login == null)
{
return new ErrorMessage()
{
ErrorCode = "TRANSACTION.OBJECT.RESERVE.NOT.AUTHORIZED",
Message = "You are not authorized to do this operation",
StatusCode = System.Net.HttpStatusCode.Unauthorized
}.ToCommand<CreateRegistrationResultDto>();
}
var @object = await _objectsRepo.GetObjectAsync(request.ObjectId);
if (@object is null)
{
return new ErrorMessage()
{
ErrorCode = "TRANSACTION.OBJECT.RESERVE.NOT.EXISTS",
Message = "The object specified does not exists",
StatusCode = System.Net.HttpStatusCode.BadRequest
}.ToCommand<CreateRegistrationResultDto>();
}
// Should Not Return and is not taken right now
if ([email protected])
{
var receivings = from receiving in _objectReceiving.Table
where receiving.ObjectRegistration.ObjectId == @object.OfferedObjectId
select receiving;
// If The object has receiving and all of them has returnings
if (receivings.Any(r => r.ObjectReturning == null))
{
return ObjectNotAvailable.ToCommand<CreateRegistrationResultDto>();
}
}
// See Previous registrations
var existingRegistrations = from registration in _registrationsRepo.Table
where registration.RecipientLogin.UserId == user.User.UserId && registration.ObjectId == @object.OfferedObjectId
select registration;
// If The user taken and has this object OR If the user has another registeration pending receiving
if (existingRegistrations.Any(reg => reg.ObjectReceiving == null || reg.ObjectReceiving.ObjectReturning == null))
{
return ObjectNotAvailable.ToCommand<CreateRegistrationResultDto>();
}
TimeSpan? shouldReturnItAfter;
if (@object.ShouldReturn)
{
// If the object should return but the user has not specified the time he should return the object
if (!request.ShouldReturnAfter.HasValue)
{
return new ErrorMessage
{
ErrorCode = "TRANSACTION.OBJECT.RESERVE.SHOULDRETURN.NULL",
Message = "Please specify when you will return this object",
StatusCode = System.Net.HttpStatusCode.BadRequest
}.ToCommand<CreateRegistrationResultDto>();
}
if (@object.HourlyCharge.HasValue)
{
shouldReturnItAfter = new TimeSpan(request.ShouldReturnAfter.Value, 0, 0);
}
else
{
if (request.ShouldReturnAfter > maximumHoursForFreeLending)
shouldReturnItAfter = new TimeSpan(maximumHoursForFreeLending, 0, 0);
else
shouldReturnItAfter = new TimeSpan(request.ShouldReturnAfter.Value, 0, 0);
}
}
else
{
shouldReturnItAfter = null;
}
var registrationModel = new ObjectRegistration
{
ObjectRegistrationId = Guid.NewGuid(),
RegisteredAtUtc = DateTime.UtcNow,
ExpiresAtUtc = DateTime.UtcNow.AddHours(maximumHoursForReservationExpiration),
ObjectId = @object.OfferedObjectId,
Status = ObjectRegistrationStatus.OK,
RecipientLoginId = user.Login.LoginId,
ShouldReturnItAfter = shouldReturnItAfter,
};
_registrationsRepo.Add(registrationModel);
await _registrationsRepo.SaveChangesAsync();
var integrationEvent = new NewRegistrationIntegrationEvent()
{
Id = Guid.NewGuid(),
OccuredAt = registrationModel.RegisteredAtUtc,
ObjectId = @object.OriginalObjectId,
RecipiantId = user.User.UserId.ToString(),
ShouldReturn = @object.ShouldReturn,
RegisteredAt = registrationModel.RegisteredAtUtc,
RegistrationId = registrationModel.ObjectRegistrationId
};
// Broadcast an event;
_eventBus.Publish(integrationEvent);
var token = await _transactionTokenManager.GenerateToken(registrationModel.ObjectRegistrationId, TokenType.Receiving);
var dto = new CreateRegistrationResultDto
{
ObjectId = registrationModel.Object.OriginalObjectId,
RegistrationId = registrationModel.ObjectRegistrationId,
ShouldBeReturnedAfterReceving = registrationModel.ShouldReturnItAfter,
RegistrationExpiresAtUtc = registrationModel.ExpiresAtUtc,
RegistrationToken = new RegistrationTokenResultDto
{
RegistrationToken = token.Token,
CreatedAtUtc = token.IssuedAtUtc,
UseBeforeUtc = token.UseBeforeUtc
}
};
return new CommandResult<CreateRegistrationResultDto>(dto);
}
19
Source : AllRegistrationQueryHandler.cs
with MIT License
from Abdulrhman5
with MIT License
from Abdulrhman5
private static ReturnStatus GetReturnStatus(ObjectRegistration registration)
{
if (registration.Status == ObjectRegistrationStatus.Canceled)
{
return ReturnStatus.NotTakenYet;
}
if (registration.ObjectReceiving is null)
{
return ReturnStatus.NotTakenYet;
}
if (registration.ObjectReceiving.ObjectReturning is object)
{
return ReturnStatus.Returned;
}
// it is free object
if (!registration.ShouldReturnItAfter.HasValue)
{
return ReturnStatus.NotDueYet;
}
if (registration.ObjectReceiving.ReceivedAtUtc.Add(registration.ShouldReturnItAfter.Value) <= DateTime.UtcNow)
{
return ReturnStatus.NotDueYet;
}
if (registration.ObjectReceiving.ReceivedAtUtc.Add(registration.ShouldReturnItAfter.Value) > DateTime.UtcNow.AddHours(24))
{
return ReturnStatus.PossibleTheft;
}
if (registration.ObjectReceiving.ReceivedAtUtc.Add(registration.ShouldReturnItAfter.Value) > DateTime.UtcNow)
{
return ReturnStatus.Delayed;
}
return ReturnStatus.Returned;
}
19
Source : TransactionStatsQueriesHandler.cs
with MIT License
from Abdulrhman5
with MIT License
from Abdulrhman5
public async Task<TransactionTodayStatsDto> Handle(TransactionStatsOverTodayQuery request, CancellationToken cancellationToken)
{
// This will resolve to MM/DD/YYYY 00:00:00
var startDate = DateTime.UtcNow.Date;
// This will resolve to MM/DD+1/YYYY 00:00:00
var endDate = DateTime.UtcNow.Date.AddDays(1);
var transesHourly = (from r in _receivingsRepo.Table
where r.ReceivedAtUtc >= startDate && r.ReceivedAtUtc <= endDate
group r by new
{
r.ReceivedAtUtc.Date,
r.ReceivedAtUtc.Hour,
} into g
select new
{
Count = g.Count(),
Date = g.Key.Date,
Hour = g.Key.Hour
});
var transesHourlyFormated = transesHourly.Select(r => new
{
r.Count,
DateTime = new DateTime(r.Date.Year, r.Date.Month, r.Date.Day, r.Hour, 0, 0)
}).ToList();
var hours = Enumerable.Range(0, 24).Select(offset =>
{
var dateTime = startDate.AddHours(offset);
return dateTime;
}).ToList();
hours.ForEach(hour =>
{
if (!transesHourlyFormated.Any(t => t.DateTime == hour))
{
transesHourlyFormated.Add(new
{
Count = 0,
DateTime = hour
});
}
});
transesHourlyFormated = transesHourlyFormated.OrderBy(t => t.DateTime).ToList();
var stats = transesHourlyFormated.Select(t => t.Count).ToList();
var transactions = from r in _registrationsRepo.Table
where r.ShouldReturnItAfter.HasValue && r.Status == ObjectRegistrationStatus.OK
select r;
var late = transactions
.AsEnumerable()
.Count(r => r.ObjectReceiving != null &&
r.ObjectReceiving.ObjectReturning != null &&
(r.ObjectReceiving.ReceivedAtUtc + r.ShouldReturnItAfter.Value) > r.ObjectReceiving.ObjectReturning.ReturnedAtUtc.AddMinutes(30));
var notReturned = transactions.Count(r => r.ObjectReceiving != null && r.ObjectReceiving.ObjectReturning == null);
var onTime = transactions
.AsEnumerable()
.Count(r => r.ObjectReceiving != null &&
r.ObjectReceiving.ObjectReturning != null &&
r.ObjectReceiving.ReceivedAtUtc.Add(r.ShouldReturnItAfter.Value) <= r.ObjectReceiving.ObjectReturning.ReturnedAtUtc.AddMinutes(30));
return new TransactionTodayStatsDto
{
LateReturn = late,
NotReturnedYet = notReturned,
OnTimeReturn = onTime,
TransactionsOverToday = stats
};
}
19
Source : HeatMapWithTextInCellsExampleView.xaml.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
public override string FormatLabel(IComparable dataValue)
{
var h = (int) Math.Ceiling(dataValue.ToDouble());
var dt = new DateTime(2000, 1, 1, 1, 0, 0);
try
{
dt = dt.AddHours(h);
}
catch (ArgumentOutOfRangeException)
{
dt = h < 0 ? DateTime.MinValue : DateTime.MaxValue;
}
return dt.ToString("hh:mm tt", new CultureInfo("en-US"));
}
19
Source : UniformHeatmapAndPaletteProvider.xaml.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
private IDataSeries CreateSeries()
{
double angle = Math.Round(Math.PI * 2 * 1 / 30, 3);
int w = 300, h = 200;
var data = new double[h, w];
for (int x = 0; x < w; x++)
for (int y = 0; y < h; y++)
{
var v = (1 + Math.Round(Math.Sin(x * 0.04 + angle), 3)) * 50 + (1 + Math.Round(Math.Sin(y * 0.1 + angle), 3)) * 50 * (1 + Math.Round(Math.Sin(angle * 2), 3));
var cx = 150; var cy = 100;
var r = Math.Sqrt((x - cx) * (x - cx) + (y - cy) * (y - cy));
var exp = Math.Max(0, 1 - r * 0.008);
data[y, x] = (v * exp + _random.NextDouble() * 50);
}
var xStart = new DateTime(2017, 1, 13, 0, 0, 0);
var xStep = DateTime.MinValue.AddDays(1).AddHours(6).AddMinutes(30);
return new UniformHeatmapDataSeries<DateTime, int, double>(data, xStart, xStep, 0, 2) { SeriesName = "UniformHeatmap" };
}
19
Source : MixedCharts.xaml.cs
with MIT License
from ABTSoftware
with MIT License
from ABTSoftware
private void MixedCharts_OnLoaded(object sender, RoutedEventArgs e)
{
var leftDataSeries0 = new UniformXyDataSeries<double>();
var leftDataSeries1 = new UniformXyDataSeries<double>();
var rightDataSeries0 = new XyDataSeries<DateTime, double>();
var rightDataSeries1 = new XyDataSeries<DateTime, double>();
var random = new Random();
for (int i = 0; i < 20; i++)
{
leftDataSeries0.Append(random.Next(10));
leftDataSeries1.Append(random.Next(10));
rightDataSeries0.Append(DateTime.Now.AddHours(i), random.Next(10));
rightDataSeries1.Append(DateTime.Now.AddHours(i), random.Next(10));
}
sciChart.RenderableSeries[0].DataSeries = leftDataSeries0;
sciChart.RenderableSeries[1].DataSeries = leftDataSeries1;
sciChart.RenderableSeries[2].DataSeries = rightDataSeries0;
sciChart.RenderableSeries[3].DataSeries = rightDataSeries1;
sciChart.ZoomExtents();
}
19
Source : SentinelCommands.cs
with GNU Affero General Public License v3.0
from ACEmulator
with GNU Affero General Public License v3.0
from ACEmulator
[CommandHandler("ban", AccessLevel.Sentinel, CommandHandlerFlag.None, 4,
"Bans the specified player account.",
"[accountname] [days] [hours] [minutes] (reason)\n"
+ "This command bans the specified player account for the specified time. This player will not be able to enter the game with any character until the time expires.\n"
+ "Example: @ban AccountName 0 0 5\n"
+ "Example: @ban AccountName 1 0 0 banned 1 day because reasons\n")]
public static void HandleBanAccount(Session session, params string[] parameters)
{
// usage: @ban < acct > < days > < hours > < minutes >
// This command bans the specified player account for the specified time.This player will not be able to enter the game with any character until the time expires.
// @ban - Bans the specified player account.
var accountName = parameters[0];
var banDays = parameters[1];
var banHours = parameters[2];
var banMinutes = parameters[3];
var banReason = string.Empty;
if (parameters.Length > 4)
{
var parametersAfterBanParams = "";
for (var i = 4; i < parameters.Length; i++)
{
parametersAfterBanParams += parameters[i] + " ";
}
parametersAfterBanParams = parametersAfterBanParams.Trim();
banReason = parametersAfterBanParams;
}
var account = DatabaseManager.Authentication.GetAccountByName(accountName);
if (account == null)
{
CommandHandlerHelper.WriteOutputInfo(session, $"Cannot ban \"{accountName}\" because that account cannot be found in database. Check syntax/spelling and try again.", ChatMessageType.Broadcast);
return;
}
if (!double.TryParse(banDays, out var days) || days < 0)
{
CommandHandlerHelper.WriteOutputInfo(session, $"Days must not be less than 0.", ChatMessageType.Broadcast);
return;
}
if (!double.TryParse(banHours, out var hours) || hours < 0)
{
CommandHandlerHelper.WriteOutputInfo(session, $"Hours must not be less than 0.", ChatMessageType.Broadcast);
return;
}
if (!double.TryParse(banMinutes, out var minutes) || minutes < 0)
{
CommandHandlerHelper.WriteOutputInfo(session, $"Minutes must not be less than 0.", ChatMessageType.Broadcast);
return;
}
var bannedOn = DateTime.UtcNow;
var banExpires = DateTime.UtcNow.AddDays(days).AddHours(hours).AddMinutes(minutes);
var bannedBy = 0u;
if (session != null)
{
bannedBy = session.AccountId;
}
account.BannedTime = bannedOn;
account.BanExpireTime = banExpires;
account.BannedByAccountId = bannedBy;
if (!string.IsNullOrWhiteSpace(banReason))
account.BanReason = banReason;
DatabaseManager.Authentication.UpdateAccount(account);
// Boot the player
if (NetworkManager.Find(accountName) != null)
{
var bootArgs = new List<string> { "account" };
if (!string.IsNullOrWhiteSpace(banReason))
{
bootArgs.Add($"{accountName},");
bootArgs.Add(banReason);
}
else
bootArgs.Add(accountName);
HandleBoot(session, bootArgs.ToArray());
}
var banText = $"Banned account {accountName} for {days} days, {hours} hours and {minutes} minutes.{(!string.IsNullOrWhiteSpace(banReason) ? $" Reason: {banReason}" : "")}";
CommandHandlerHelper.WriteOutputInfo(session, banText, ChatMessageType.Broadcast);
PlayerManager.BroadcastToAuditChannel(session?.Player, banText);
}
19
Source : AopCacheAttribute.cs
with MIT License
from ad313
with MIT License
from ad313
private DateTime GetCacheNewTime(CacheTimeType type, int length)
{
if (length <= 0) return DateTime.MaxValue;
var limitTime = DateTime.Now;
switch (type)
{
case CacheTimeType.Day:
limitTime = limitTime.AddDays(length);
break;
case CacheTimeType.Hour:
limitTime = limitTime.AddHours(length);
break;
case CacheTimeType.Minute:
limitTime = limitTime.AddMinutes(length);
break;
case CacheTimeType.Second:
limitTime = limitTime.AddSeconds(length);
break;
}
return limitTime;
}
19
Source : DateTimePicker.xaml.cs
with MIT License
from ADeltaX
with MIT License
from ADeltaX
private DateTime Increase(int selstart, int value)
{
DateTime retval = (ParseDateText(false) ?? SelectedDate);
try
{
switch (DateFormat.Substring(selstart, 1))
{
case "h":
case "H":
retval = retval.AddHours(value);
break;
case "y":
retval = retval.AddYears(value);
break;
case "M":
retval = retval.AddMonths(value);
break;
case "m":
retval = retval.AddMinutes(value);
break;
case "d":
retval = retval.AddDays(value);
break;
case "s":
retval = retval.AddSeconds(value);
break;
}
}
catch (ArgumentException ex)
{
//Catch dates with year over 9999 etc, dont throw
}
return retval;
}
19
Source : IdeaForumDataAdapterFactory.cs
with MIT License
from Adoxio
with MIT License
from Adoxio
public IIdeaForumDataAdapter CreateIdeaForumDataAdapter(Enreplacedy ideaForum, string filter, string timeSpan, int? status = 1)
{
IIdeaForumDataAdapter ideaForumDataAdapter = null;
if (string.Equals(filter, "new", StringComparison.InvariantCultureIgnoreCase))
{
ideaForumDataAdapter = new IdeaForumByNewDataAdapter(ideaForum);
}
else
{
ideaForumDataAdapter = this.IsIdeasPreRollup()
? this.CreateIdeaDataAdapterPreRollup(ideaForum, filter)
: this.CreateIdeaDataAdapter(ideaForum, filter);
}
ideaForumDataAdapter.MinDate = timeSpan == "this-year" ? DateTime.UtcNow.AddYears(-1).Date
: timeSpan == "this-month" ? DateTime.UtcNow.AddMonths(-1).Date
: timeSpan == "this-week" ? DateTime.UtcNow.AddDays(-7).Date
: timeSpan == "today" ? DateTime.UtcNow.AddHours(-24)
: (DateTime?)null;
ideaForumDataAdapter.Status = status != (int?)IdeaStatus.Any ? status : null;
return ideaForumDataAdapter;
}
19
Source : DateFilters.cs
with MIT License
from Adoxio
with MIT License
from Adoxio
public static DateTime? DateAddHours(DateTime? date, double value)
{
return date.HasValue
? date.Value.AddHours(value)
: (DateTime?)null;
}
19
Source : DateTimeExtensions.cs
with MIT License
from Adoxio
with MIT License
from Adoxio
public static DateTime Round(this DateTime d, RoundTo to)
{
var floor = Floor(d, to);
if (to == RoundTo.Second && d.Millisecond >= 500) return floor.AddSeconds(1);
if (to == RoundTo.Minute && d.Second >= 30) return floor.AddMinutes(1);
if (to == RoundTo.Hour && d.Minute >= 30) return floor.AddHours(1);
if (to == RoundTo.Day && d.Hour >= 12) return floor.AddDays(1);
if (to == RoundTo.Month && d.Day >= DateTime.DaysInMonth(d.Year, d.Month) / 2) return floor.AddMonths(1);
return d;
}
19
Source : ChatAuthController.cs
with MIT License
from Adoxio
with MIT License
from Adoxio
private static string GetTokenString(IList<Claim> claims)
{
string tokenString = null;
using (var cryptoServiceProvider = GetCryptoProvider(true))
{
string issuer = PortalSettings.Instance.DomainName;
string audience = string.Empty;
DateTime notBefore = DateTime.Now;
DateTime expires = notBefore.AddHours(1);
var tokenHandler = new JwtSecurityTokenHandler();
var signingCredentials = new SigningCredentials(new RsaSecurityKey(cryptoServiceProvider),
SecurityAlgorithms.RsaSha256Signature, SecurityAlgorithms.Sha256Digest);
// need to explicitly add "iat" claim
DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
var iat = Convert.ToInt64((TimeZoneInfo.ConvertTimeToUtc(notBefore) - unixEpoch).TotalSeconds - 1);
claims.Add(new Claim("iat", iat.ToString(), ClaimValueTypes.Integer));
var header = new JwtHeader(signingCredentials);
var payload = new JwtPayload(issuer, audience, claims, notBefore, expires);
// Need to adjust this because Claim clreplaced ignores value type
payload["iat"] = Convert.ToInt64(payload["iat"]);
var jwtToken = new JwtSecurityToken(header, payload);
tokenString = tokenHandler.WriteToken(jwtToken);
}
return tokenString;
}
19
Source : TaskSchedulerHandler.cs
with MIT License
from adrianmteo
with MIT License
from adrianmteo
public static void UpdateAllTasks(DateTime lightThemeTime, DateTime darkThemeTime)
{
string path = replacedembly.GetExecutingreplacedembly().Location;
DateTime lightTime = DateTime.Today.AddHours(lightThemeTime.Hour).AddMinutes(lightThemeTime.Minute);
DateTime darkTime = DateTime.Today.AddHours(darkThemeTime.Hour).AddMinutes(darkThemeTime.Minute);
try
{
TaskFolder folder = CreateRootFolder();
CreateDailyTask("Light theme", folder, lightTime, path, "/change");
CreateDailyTask("Dark theme", folder, darkTime, path, "/change");
CreateStartupTask("Change theme", folder, path, "/change");
CreateDailyTask("Auto update", folder, lightTime, path, "/update", 3);
}
catch (Exception ex)
{
Logger.Error(ex.Message);
throw ex;
}
}
19
Source : App.xaml.cs
with MIT License
from adrianmteo
with MIT License
from adrianmteo
[STAThread]
public static void Main(string[] args)
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
if (args.Length > 0)
{
Logger.Info("Starting app with command line arguments: {0}", string.Join(", ", args));
AutoFileSaver<SettingsModel> autoFileSaver = new AutoFileSaver<SettingsModel>("settings.xml", true);
AppearanceHandler handler = new AppearanceHandler(autoFileSaver.Model);
foreach (string arg in args)
{
switch (arg)
{
case "/light":
handler.SwitchToLightTheme();
break;
case "/dark":
handler.SwitchToDarkTheme();
break;
case "/change":
DateTime now = DateTime.Now;
DateTime t1 = DateTime.Today.AddHours(autoFileSaver.Model.LightThemeTime.Hour).AddMinutes(autoFileSaver.Model.LightThemeTime.Minute);
DateTime t2 = DateTime.Today.AddHours(autoFileSaver.Model.DarkThemeTime.Hour).AddMinutes(autoFileSaver.Model.DarkThemeTime.Minute);
if (now > t1 && now < t2)
{
handler.SwitchToLightTheme();
}
else
{
handler.SwitchToDarkTheme();
}
break;
case "/update":
AutoUpdater autoUpdater = new AutoUpdater(true, true);
autoUpdater.CheckForUpdates(true).Wait();
break;
case "/clean":
TaskSchedulerHandler.DeleteAllTasks();
break;
default:
Logger.Error("Command line argument is not accepted: {0}", arg);
break;
}
}
}
else
{
App app = new App();
app.InitializeComponent();
app.Run();
}
}
19
Source : TokenCleanerHost.cs
with Apache License 2.0
from Aguafrommars
with Apache License 2.0
from Aguafrommars
private async Task RemoveExpiredTokensAsync(CancellationToken cancellationToken)
{
try
{
using var scope = _provider.CreateScope();
var service = scope.ServiceProvider;
var pageRequest = new PageRequest
{
// Community OData transform date from UTC so we substract the UTC diff
Filter = $"{nameof(IGrant.Expiration)} lt {DateTime.UtcNow.AddHours(DateTime.UtcNow.Hour - DateTime.Now.Hour):o}",
OrderBy = nameof(IAuditable.CreatedAt)
};
var oneTimeTokenStore = service.GetRequiredService<IAdminStore<OneTimeToken>>();
var oneTimeTokenResponse = await oneTimeTokenStore.GetAsync(pageRequest, cancellationToken).ConfigureAwait(false);
await RemoveExpiredTokensAsync(oneTimeTokenStore, oneTimeTokenResponse.Items, cancellationToken).ConfigureAwait(false);
var refreshTokenStore = service.GetRequiredService<IAdminStore<RefreshToken>>();
var refreshTokenResponse = await refreshTokenStore.GetAsync(pageRequest, cancellationToken).ConfigureAwait(false);
await RemoveExpiredTokensAsync(refreshTokenStore, refreshTokenResponse.Items, cancellationToken).ConfigureAwait(false);
var referenceTokenStore = service.GetRequiredService<IAdminStore<ReferenceToken>>();
var referenceTokenResponse = await referenceTokenStore.GetAsync(pageRequest, cancellationToken).ConfigureAwait(false);
await RemoveExpiredTokensAsync(referenceTokenStore, referenceTokenResponse.Items, cancellationToken).ConfigureAwait(false);
}
catch (TaskCanceledException)
{
_logger.LogDebug("TaskCanceledException. Exiting.");
}
catch (Exception e)
{
_logger.LogError(e, $"Exception removing expired grants: {e.Message}");
}
}
19
Source : SystemEventsCenter.cs
with GNU General Public License v3.0
from aiportal
with GNU General Public License v3.0
from aiportal
void watcher_EventArrived(object sender, EventArrivedEventArgs e)
{
ManagementBaseObject obj = e.NewEvent;
string clsName = obj.ClreplacedPath.ClreplacedName;
switch (clsName)
{
case "Win32_ProcessStartTrace":
case "Win32_ProcessStopTrace":
{
ProcessEventArgs arg = new ProcessEventArgs()
{
SessionId = Convert.ToInt32(obj["SessionID"]),
ProcessId = Convert.ToInt32(obj["ProcessID"]),
ProcessName = obj["ProcessName"] as string,
TimeCreated = DateTime.FromFileTimeUtc(Convert.ToInt64(obj["TIME_CREATED"])).AddHours(UtcOffsetHours),
};
if (clsName == "Win32_ProcessStartTrace" && this.ProcessStart != null)
this.ProcessStart(this, arg);
if (clsName == "Win32_ProcessStopTrace" && this.ProcessExit != null)
this.ProcessExit(this, arg);
}
break;
default:
break;
}
}
19
Source : KickassParser.cs
with MIT License
from aivarasatk
with MIT License
from aivarasatk
private DateTime ParseDate(string date)
{
var digitEndIndex = 0;
foreach(var c in date)
{
if (char.IsLetter(c))
break;
digitEndIndex++;
}
int.TryParse(date.Substring(0, digitEndIndex), out var numberToSubtract);
var parsedDate = DateTime.UtcNow;
if (date.Contains("min.")) parsedDate = parsedDate.AddMinutes(-numberToSubtract);
if (date.Contains("hour")) parsedDate = parsedDate.AddHours(-numberToSubtract);
if (date.Contains("day")) parsedDate = parsedDate.AddDays(-numberToSubtract);
if (date.Contains("month")) parsedDate = parsedDate.AddMonths(-numberToSubtract);
if (date.Contains("year")) parsedDate = parsedDate.AddYears(-numberToSubtract);
return parsedDate;
}
19
Source : AuditGetRecentUpdates.cs
with MIT License
from akaskela
with MIT License
from akaskela
protected DataTable BuildDataTable(CodeActivityContext context, IWorkflowContext workflowContext, IOrganizationService service)
{
TimeZoneSummary timeZone = StaticMethods.CalculateTimeZoneToUse(this.TimeZoneOption.Get(context), workflowContext, service);
DataTable table = new DataTable() { TableName = workflowContext.PrimaryEnreplacedyName };
table.Columns.AddRange(new DataColumn[] { new DataColumn("Date"), new DataColumn("User"), new DataColumn("Attribute"), new DataColumn("Old Value"), new DataColumn("New Value") });
DateTime oldestUpdate = DateTime.MinValue;
if (this.Units != null && this.Number != null && this.Number.Get<int>(context) != 0)
{
OptionSetValue value = this.Units.Get<OptionSetValue>(context);
if (value != null)
{
switch (value.Value)
{
case 222540000:
oldestUpdate = DateTime.Now.AddYears(this.Number.Get<int>(context) * -1);
break;
case 222540001:
oldestUpdate = DateTime.Now.AddMonths(this.Number.Get<int>(context) * -1);
break;
case 222540002:
oldestUpdate = DateTime.Now.AddDays(this.Number.Get<int>(context) * -7);
break;
case 222540003:
oldestUpdate = DateTime.Now.AddDays(this.Number.Get<int>(context) * -1);
break;
case 222540004:
oldestUpdate = DateTime.Now.AddHours(this.Number.Get<int>(context) * -1);
break;
default:
oldestUpdate = DateTime.Now.AddMinutes(this.Number.Get<int>(context) * -1);
break;
}
}
}
int maxUpdates = this.MaxAuditLogs.Get(context) > 100 || this.MaxAuditLogs.Get(context) < 1 ? 100 : this.MaxAuditLogs.Get(context);
RetrieveRecordChangeHistoryRequest request = new RetrieveRecordChangeHistoryRequest()
{
Target = new EnreplacedyReference(workflowContext.PrimaryEnreplacedyName, workflowContext.PrimaryEnreplacedyId),
PagingInfo = new PagingInfo() { Count = maxUpdates, PageNumber = 1 }
};
RetrieveRecordChangeHistoryResponse response = service.Execute(request) as RetrieveRecordChangeHistoryResponse;
var detailsToInclude = response.AuditDetailCollection.AuditDetails
.Where(ad => ad is AttributeAuditDetail && ad.AuditRecord.Contains("createdon") && ((DateTime)ad.AuditRecord["createdon"]) > oldestUpdate)
.OrderByDescending(ad => ((DateTime)ad.AuditRecord["createdon"]))
.ToList();
if (detailsToInclude.Any())
{
Microsoft.Xrm.Sdk.Messages.RetrieveEnreplacedyRequest retrieveEnreplacedyRequest = new Microsoft.Xrm.Sdk.Messages.RetrieveEnreplacedyRequest()
{
EnreplacedyFilters = EnreplacedyFilters.Attributes,
LogicalName = workflowContext.PrimaryEnreplacedyName
};
Microsoft.Xrm.Sdk.Messages.RetrieveEnreplacedyResponse retrieveEnreplacedyResponse = service.Execute(retrieveEnreplacedyRequest) as Microsoft.Xrm.Sdk.Messages.RetrieveEnreplacedyResponse;
EnreplacedyMetadata metadata = retrieveEnreplacedyResponse.EnreplacedyMetadata;
foreach (var detail in detailsToInclude.Select(d => d as AttributeAuditDetail).Where(d => d.NewValue != null && d.OldValue != null))
{
DateTime dateToModify = (DateTime)detail.AuditRecord["createdon"];
if (dateToModify.Kind != DateTimeKind.Utc)
{
dateToModify = dateToModify.ToUniversalTime();
}
LocalTimeFromUtcTimeRequest timeZoneChangeRequest = new LocalTimeFromUtcTimeRequest() { UtcTime = dateToModify, TimeZoneCode = timeZone.MicrosoftIndex };
LocalTimeFromUtcTimeResponse timeZoneResponse = service.Execute(timeZoneChangeRequest) as LocalTimeFromUtcTimeResponse;
DateTime timeZoneSpecificDateTime = timeZoneResponse.LocalTime;
var details = detail.NewValue.Attributes.Keys.Union(detail.OldValue.Attributes.Keys)
.Distinct()
.Select(a =>
new {
AttributeName = a,
DisplayName = GetDisplayLabel(metadata, a)
})
.OrderBy(a => a.DisplayName);
foreach (var item in details)
{
DataRow newRow = table.NewRow();
newRow["User"] = GetDisplayValue(detail.AuditRecord, "userid");
newRow["Date"] = timeZoneSpecificDateTime.ToString("MM/dd/yyyy h:mm tt");
newRow["Attribute"] = item.DisplayName;
newRow["Old Value"] = GetDisplayValue(detail.OldValue, item.AttributeName);
newRow["New Value"] = GetDisplayValue(detail.NewValue, item.AttributeName);
table.Rows.Add(newRow);
}
}
}
return table;
}
19
Source : DateAddOrSubtract.cs
with MIT License
from akaskela
with MIT License
from akaskela
protected override void Execute(CodeActivityContext context)
{
bool dateSet = false;
if (this.Units != null && this.Number != null && this.Number.Get<int>(context) != 0)
{
OptionSetValue value = this.Units.Get<OptionSetValue>(context);
if (value != null)
{
switch (value.Value)
{
case 222540000:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddYears(this.Number.Get<int>(context)));
break;
case 222540001:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddMonths(this.Number.Get<int>(context)));
break;
case 222540002:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddDays(this.Number.Get<int>(context) * 7));
break;
case 222540003:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddDays(this.Number.Get<int>(context)));
break;
case 222540004:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddHours(this.Number.Get<int>(context)));
break;
default:
ModifiedDate.Set(context, this.DateToModify.Get(context).AddMinutes(this.Number.Get<int>(context)));
break;
}
dateSet = true;
}
}
if (!dateSet)
{
ModifiedDate.Set(context, this.DateToModify.Get(context));
}
}
19
Source : CourtSystem.cs
with GNU General Public License v3.0
from Albo1125
with GNU General Public License v3.0
from Albo1125
public static DateTime DetermineCourtHearingDate()
{
if (RealisticCourtDates)
{
DateTime CourtDate = DateTime.Now;
int Minutes = (int)Math.Round(((float)CourtDate.Minute) / 5.0f) * 5;
while (CourtDate.Minute != Minutes)
{
CourtDate = CourtDate.AddMinutes(1);
Minutes = (int)Math.Round(((float)CourtDate.Minute) / 5.0f) * 5;
}
while (CourtDate.Hour > 17 || CourtDate.Hour < 9)
{
CourtDate = CourtDate.AddHours(LSPDFRPlusHandler.rnd.Next(1, 8));
}
CourtDate = CourtDate.AddDays(LSPDFRPlusHandler.rnd.Next(1, 4));
return CourtDate;
}
else
{
return DateTime.Now.AddMinutes(LSPDFRPlusHandler.rnd.Next(2, 10));
}
}
19
Source : FormatExpressionBuilder.cs
with MIT License
from alethic
with MIT License
from alethic
static bool ValidateTimeRegex(string value)
{
var r = TimeRegex.Match(value);
if (r.Success)
{
if (int.TryParse(r.Groups["h"].Value, out var h) && int.TryParse(r.Groups["m"].Value, out var m) && int.TryParse(r.Groups["s"].Value, out var s))
{
// parse milliseconds
var ms = r.Groups["ms"] is Group msg && msg.Success && int.TryParse(msg.Value, out var ms_) ? (int?)ms_ : null;
// extract offset information
var oo = r.Groups["oo"] is Group oog && oog.Success ? oog.Value : null;
var zh = r.Groups["zh"] is Group zhg && zhg.Success && int.TryParse(zhg.Value, out var zh_) ? (int?)zh_ : null;
var zm = r.Groups["zm"] is Group zmg && zmg.Success && int.TryParse(zmg.Value, out var zm_) ? (int?)zm_ : null;
// time values must be in range (leap seconds!)
if (h < 0 || h > 23 || m < 0 || m > 59 || s < 0 || s > 60)
return false;
// millisecond value must be at least 0
if (ms != null && ms < 0)
return false;
// offset indicator exists but isn't proper value
if (oo != null && oo != "-" && oo != "+")
return false;
// check that offset hour is valid
if (zh != null)
if (zh < 0 || zh > 23)
return false;
// check that offset minute is valid
if (zm != null)
if (zm < 0 || zm > 59)
return false;
// leap second, but wrong minute
if (s == 60)
{
var t = new DateTime(2000, 1, 1, h, m, 59);
// offset indicator exists but isn't proper value
if (oo != null)
{
if (zh is int zhi)
t = oo == "+" ? t.AddHours(-zhi) : t.AddHours(zhi);
if (zm is int zmi)
t = oo == "+" ? t.AddMinutes(-zmi) : t.AddMinutes(zmi);
}
// leap second, but wrong minute
if (t.Minute != 59)
return false;
// leap second, but wrong hour
if (t.Hour != 23)
return false;
}
// all the checks succeeded
return true;
}
}
return false;
}
19
Source : WorkerController.cs
with MIT License
from AlexanderFroemmgen
with MIT License
from AlexanderFroemmgen
[HttpGet]
public IEnumerable<WorkerDto> GetAll()
{
// Prune worker entries that have not responded in 1h
_context.RemoveRange(_context.Workers.Where(w => w.ActiveExperimentInstance == null && w.LastRequestTime < DateTime.UtcNow.AddHours(-1)));
// or did not finish after 48h
var oldWorker = _context.Workers.Where(w => w.ActiveExperimentInstance != null && w.LastRequestTime < DateTime.UtcNow.AddHours(-48)).
Include(w => w.ActiveExperimentInstance);
_context.RemoveRange(oldWorker);
foreach(var worker in oldWorker)
{
worker.ActiveExperimentInstance.Reset();
}
_context.RemoveRange();
_context.SaveChanges();
return _context.Workers
.Include(w => w.ActiveExperimentInstance)
.Select(w => new WorkerDto
{
Token = w.Token,
Capabilities = w.Capabilities,
ActiveExperimentInstanceId = w.ActiveExperimentInstance.Id,
ActiveExperimentId = w.ActiveExperimentInstance.ExperimentId,
ConnectionInfo = w.ConnectionInfo,
LastRequestTime = w.LastRequestTime,
RegistrationTime = w.RegistrationTime
});
}
19
Source : ConfiguracoesSeguranca.cs
with MIT License
from alexandrebeato
with MIT License
from alexandrebeato
public static string GerarToken(UsuarioViewModel usuarioViewModel)
{
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(_chave);
var allClaims = new List<Claim>();
switch (usuarioViewModel.TipoUsuario)
{
case (TipoUsuario.Agencia):
{
allClaims.Add(new Claim("agencia", "1"));
break;
}
case (TipoUsuario.Cliente):
{
allClaims.Add(new Claim("cliente", "1"));
break;
}
}
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdenreplacedy(
new GenericIdenreplacedy(usuarioViewModel.Id.ToString(), "Login"),
allClaims
),
NotBefore = DateTime.UtcNow.AddMinutes(-15),
Expires = DateTime.UtcNow.AddHours(8),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
return tokenHandler.WriteToken(token);
}
19
Source : InteractiveBrokersServer.cs
with Apache License 2.0
from AlexWan
with Apache License 2.0
from AlexWan
public List<Candle> GetCandleHistory(string nameSec, TimeFrame tf)
{
SecurityIb contractIb =
_secIB.Find(
contract =>
contract.Symbol + "_" + contract.SecType + "_" + contract.Exchange == nameSec);
if (contractIb == null)
{
return null; ;
}
DateTime timeEnd = DateTime.Now.ToUniversalTime();
DateTime timeStart = timeEnd.AddMinutes(60);
string barSize = "1 min";
int mergeCount = 0;
if (tf == TimeFrame.Sec1)
{
barSize = "1 sec";
timeStart = timeEnd.AddMinutes(10);
}
else if (tf == TimeFrame.Sec5)
{
barSize = "5 secs";
}
else if (tf == TimeFrame.Sec15)
{
barSize = "15 secs";
}
else if (tf == TimeFrame.Sec30)
{
barSize = "30 secs";
}
else if (tf == TimeFrame.Min1)
{
timeStart = timeEnd.AddHours(5);
barSize = "1 min";
}
else if (tf == TimeFrame.Min5)
{
timeStart = timeEnd.AddHours(25);
barSize = "5 mins";
}
else if (tf == TimeFrame.Min15)
{
timeStart = timeEnd.AddHours(75);
barSize = "15 mins";
}
else if (tf == TimeFrame.Min30)
{
timeStart = timeEnd.AddHours(150);
barSize = "30 mins";
}
else if (tf == TimeFrame.Hour1)
{
timeStart = timeEnd.AddHours(1300);
barSize = "1 hour";
}
else if (tf == TimeFrame.Hour2)
{
timeStart = timeEnd.AddHours(2100);
barSize = "1 hour";
mergeCount = 2;
}
else if (tf == TimeFrame.Hour4)
{
timeStart = timeEnd.AddHours(4200);
barSize = "1 hour";
mergeCount = 4;
}
else if (tf == TimeFrame.Day)
{
barSize = "1 day";
timeStart = timeEnd.AddDays(701);
}
else
{
return null;
}
CandlesRequestResult = null;
_client.GetCandles(contractIb, timeEnd, timeStart, barSize, "TRADES");
DateTime startSleep = DateTime.Now;
while (true)
{
Thread.Sleep(1000);
if (startSleep.AddSeconds(30) < DateTime.Now)
{
break;
}
if (CandlesRequestResult != null)
{
break;
}
}
if (CandlesRequestResult != null &&
CandlesRequestResult.CandlesArray.Count != 0)
{
if (mergeCount != 0)
{
List<Candle> newCandles = Merge(CandlesRequestResult.CandlesArray, mergeCount);
CandlesRequestResult.CandlesArray = newCandles;
return StraichCandles(CandlesRequestResult);
}
return StraichCandles(CandlesRequestResult);
}
_client.GetCandles(contractIb, timeEnd, timeStart, barSize, "MIDPOINT");
startSleep = DateTime.Now;
while (true)
{
Thread.Sleep(1000);
if (startSleep.AddSeconds(30) < DateTime.Now)
{
break;
}
if (CandlesRequestResult != null)
{
break;
}
}
if (CandlesRequestResult != null &&
CandlesRequestResult.CandlesArray.Count != 0)
{
if (mergeCount != 0)
{
List<Candle> newCandles = Merge(CandlesRequestResult.CandlesArray, mergeCount);
CandlesRequestResult.CandlesArray = newCandles;
return StraichCandles(CandlesRequestResult);
}
return StraichCandles(CandlesRequestResult);
}
return null;
}
19
Source : AppBase.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
private async Task<StandardBusinessDoreplacedent> ConstructStandardBusinessDoreplacedent(string instanceGuid, Instance instance)
{
DateTime completedTime = DateTime.Now;
Sender digdirSender = new Sender
{
Identifier = new Identifier
{
// 0192 prefix for all Norwegian organisations.
Value = $"0192:{_appSettings.EFormidlingSender}",
Authority = "iso6523-actorid-upis"
}
};
List<Receiver> receivers = await GetEFormidlingReceivers(instance);
Scope scope =
new Scope
{
Identifier = _appMetadata.EFormidling.Process,
InstanceIdentifier = Guid.NewGuid().ToString(),
Type = "ConversationId",
ScopeInformation = new List<ScopeInformation>
{
new ScopeInformation
{
ExpectedResponseDateTime = completedTime.AddHours(2)
}
},
};
BusinessScope businessScope = new BusinessScope
{
Scope = new List<Scope> { scope }
};
DoreplacedentIdentification doreplacedentIdentification = new DoreplacedentIdentification
{
InstanceIdentifier = instanceGuid,
Standard = _appMetadata.EFormidling.Standard,
TypeVersion = _appMetadata.EFormidling.TypeVersion,
CreationDateAndTime = completedTime,
Type = _appMetadata.EFormidling.Type
};
StandardBusinessDoreplacedentHeader sbdHeader = new StandardBusinessDoreplacedentHeader
{
HeaderVersion = "1.0",
BusinessScope = businessScope,
DoreplacedentIdentification = doreplacedentIdentification,
Receiver = receivers,
Sender = new List<Sender> { digdirSender }
};
StandardBusinessDoreplacedent sbd = new StandardBusinessDoreplacedent
{
StandardBusinessDoreplacedentHeader = sbdHeader,
Arkivmelding = new Arkivmelding { Sikkerhetsnivaa = _appMetadata.EFormidling.SecurityLevel },
};
return sbd;
}
19
Source : EFormidlingClientIntTest.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
[Fact]
public async void Send_Standard_Business_Doreplacedent()
{
var service = _serviceProvider.GetService<IEFormidlingClient>();
var jsonString = File.ReadAllText(@"TestData\sbd.json");
StandardBusinessDoreplacedent sbd = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(jsonString);
string process = "urn:no:difi:profile:arkivmelding:administrasjon:ver1.0";
string type = "arkivmelding";
DateTime currentCreationTime = DateTime.Now;
DateTime currentCreationTime2HoursLater = currentCreationTime.AddHours(2);
Guid obj = Guid.NewGuid();
_guid = obj.ToString();
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().Identifier = process;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().ScopeInformation.First().ExpectedResponseDateTime = currentCreationTime2HoursLater;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.Type = type;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.CreationDateAndTime = currentCreationTime;
StandardBusinessDoreplacedent sbdVerified = await service.CreateMessage(sbd);
replacedert.Equal(JsonSerializer.Serialize(sbdVerified), JsonSerializer.Serialize(sbd));
}
19
Source : EFormidlingClientIntTest.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
[Fact]
public async void Send_Attachment_Arkivmelding()
{
var service = _serviceProvider.GetService<IEFormidlingClient>();
var jsonString = File.ReadAllText(@"TestData\sbd.json");
StandardBusinessDoreplacedent sbd = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(jsonString);
string process = "urn:no:difi:profile:arkivmelding:administrasjon:ver1.0";
string type = "arkivmelding";
DateTime currentCreationTime = DateTime.Now;
currentCreationTime = currentCreationTime.AddMinutes(-1);
DateTime currentCreationTime2HoursLater = currentCreationTime.AddHours(2);
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().Identifier = process;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().ScopeInformation.First().ExpectedResponseDateTime = currentCreationTime2HoursLater;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.Type = type;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.CreationDateAndTime = currentCreationTime;
_ = await service.CreateMessage(sbd);
string filename = "arkivmelding.xml";
bool sendArkivmelding = false;
using (FileStream fs = File.OpenRead(@"TestData\arkivmelding.xml"))
{
if (fs.Length > 3)
{
sendArkivmelding = await service.UploadAttachment(fs, _guid, filename);
}
}
replacedert.True(sendArkivmelding);
}
19
Source : EFormidlingClientIntTest.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
[Fact]
public async void Send_Invalid_Standard_Business_Doreplacedent()
{
var service = _serviceProvider.GetService<IEFormidlingClient>();
var jsonString = File.ReadAllText(@"TestData\sbd.json");
StandardBusinessDoreplacedent sbd = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(jsonString);
string type = "arkivmelding";
DateTime currentCreationTime = DateTime.Now;
DateTime currentCreationTime2HoursLater = currentCreationTime.AddHours(2);
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.Type = type;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.CreationDateAndTime = currentCreationTime;
WebException ex = await replacedert.ThrowsAsync<WebException>(async () => await service.CreateMessage(sbd));
}
19
Source : EFormidlingClientIntTest.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
[Fact]
public async void Send_Attachment_Binary()
{
var service = _serviceProvider.GetService<IEFormidlingClient>();
var jsonString = File.ReadAllText(@"TestData\sbd.json");
StandardBusinessDoreplacedent sbd = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(jsonString);
string process = "urn:no:difi:profile:arkivmelding:administrasjon:ver1.0";
string type = "arkivmelding";
DateTime currentCreationTime = DateTime.Now;
currentCreationTime = currentCreationTime.AddMinutes(-1);
DateTime currentCreationTime2HoursLater = currentCreationTime.AddHours(2);
Guid obj = Guid.NewGuid();
_guid = obj.ToString();
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().Identifier = process;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().ScopeInformation.First().ExpectedResponseDateTime = currentCreationTime2HoursLater;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.Type = type;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.CreationDateAndTime = currentCreationTime;
_ = await service.CreateMessage(sbd);
string filename = "test.pdf";
bool sendBinaryFile = false;
using (FileStream fs = File.OpenRead(@"TestData\test.pdf"))
{
if (fs.Length > 3)
{
sendBinaryFile = await service.UploadAttachment(fs, _guid, filename);
}
}
replacedert.True(sendBinaryFile);
}
19
Source : EFormidlingClientIntTest.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
[Fact]
public async void Verify_Sent_Attachments()
{
var service = _serviceProvider.GetService<IEFormidlingClient>();
var jsonString = File.ReadAllText(@"TestData\sbd.json");
StandardBusinessDoreplacedent sbd = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(jsonString);
string process = "urn:no:difi:profile:arkivmelding:administrasjon:ver1.0";
string type = "arkivmelding";
DateTime currentCreationTime = DateTime.Now;
currentCreationTime = currentCreationTime.AddMinutes(-1);
DateTime currentCreationTime2HoursLater = currentCreationTime.AddHours(2);
Guid obj = Guid.NewGuid();
_guid = obj.ToString();
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().Identifier = process;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.BusinessScope.Scope.First().ScopeInformation.First().ExpectedResponseDateTime = currentCreationTime2HoursLater;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.Type = type;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.InstanceIdentifier = _guid;
sbd.StandardBusinessDoreplacedentHeader.DoreplacedentIdentification.CreationDateAndTime = currentCreationTime;
StandardBusinessDoreplacedent sbdVerified = await service.CreateMessage(sbd);
string filename = "arkivmelding.xml";
using (FileStream fs = File.OpenRead(@"TestData\arkivmelding.xml"))
{
if (fs.Length > 3)
{
_ = await service.UploadAttachment(fs, _guid, filename);
}
}
string filenameAttachment = "test.pdf";
using (FileStream fs = File.OpenRead(@"TestData\test.pdf"))
{
if (fs.Length > 3)
{
_ = await service.UploadAttachment(fs, _guid, filenameAttachment);
}
}
await service.SendMessage(_guid);
Thread.Sleep(20000);
var httpClient = new HttpClient();
var messageId = _guid;
var appsetting = _serviceProvider.GetService<IConfiguration>().GetSection("EFormidlingClientSettings:BaseUrl");
var baseUrl = appsetting.Value;
HttpResponseMessage response = await httpClient.GetAsync($"{baseUrl}messages/in/peek?serviceIdentifier=DPO");
string responseBody = await response.Content.ReadreplacedtringAsync();
StandardBusinessDoreplacedent sbdLocked = JsonSerializer.Deserialize<StandardBusinessDoreplacedent>(responseBody);
response = await httpClient.GetAsync($"{baseUrl}messages/in/pop/{messageId}");
FileInfo fileInfo;
using (var stream = response.Content.ReadreplacedtreamAsync().Result)
{
fileInfo = new FileInfo("sent_package.zip");
using (var fileStream = fileInfo.OpenWrite())
{
await stream.CopyToAsync(fileStream);
}
}
response = await httpClient.DeleteAsync($"{baseUrl}messages/in/{messageId}");
_ = await response.Content.ReadreplacedtringAsync();
replacedert.True(fileInfo.Exists);
}
19
Source : AuthenticationController.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
private X509Certificate2 GetLatestCertificateWithRolloverDelay(
List<X509Certificate2> certificates, int rolloverDelayHours)
{
// First limit the search to just those certificates that have existed longer than the rollover delay.
var rolloverCutoff = DateTime.Now.AddHours(-rolloverDelayHours);
var potentialCerts =
certificates.Where(c => c.NotBefore < rolloverCutoff).ToList();
// If no certs could be found, then widen the search to any usable certificate.
if (!potentialCerts.Any())
{
potentialCerts = certificates.Where(c => c.NotBefore < DateTime.Now).ToList();
}
// Of the potential certs, return the newest one.
return potentialCerts
.OrderByDescending(c => c.NotBefore)
.FirstOrDefault();
}
19
Source : JwtSigningCertificateProvider.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
public async Task<List<X509Certificate2>> GetCertificates()
{
await _semapreplaced.WaitAsync();
try
{
if (_certificateUpdateTime > DateTime.Now && _certificates != null)
{
return _certificates;
}
_certificates = new List<X509Certificate2>();
if (string.IsNullOrEmpty(_keyVaultSettings.ClientId) || string.IsNullOrEmpty(_keyVaultSettings.ClientSecret))
{
_certificates.Add(new X509Certificate2(_certificateSettings.CertificatePath, _certificateSettings.CertificatePwd));
}
else
{
List<X509Certificate2> certificates = await GetAllCertificateVersions(
_keyVaultSettings.SecretUri, _certificateSettings.CertificateName);
_certificates.AddRange(certificates);
}
// Reuse the same list of certificates for 1 hour.
_certificateUpdateTime = DateTime.Now.AddHours(1);
_certificates = _certificates.OrderByDescending(cer => cer.NotBefore).ToList();
return _certificates;
}
finally
{
_semapreplaced.Release();
}
}
19
Source : SasTokenProvider.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
private bool StillYoung(DateTime created)
{
return created.AddHours(_allowedSasTokenAgeHours) > DateTime.UtcNow;
}
19
Source : SasTokenProvider.cs
with BSD 3-Clause "New" or "Revised" License
from Altinn
with BSD 3-Clause "New" or "Revised" License
from Altinn
private bool StillYoung(DateTime created)
{
return created.AddHours(_storageConfiguration.AllowedSasTokenAgeHours) > DateTime.UtcNow;
}
19
Source : IQueryableExtensionsTest.cs
with Apache License 2.0
from AndcultureCode
with Apache License 2.0
from AndcultureCode
[Fact]
public void ThenBy_When_Sorted_In_Ascending_Order_Returns_List_Ordered_Ascending()
{
// Arrange
var minDate = DateTime.Now.AddHours(-1);
var midDate = DateTime.Now;
var maxDate = DateTime.Now.AddDays(1);
var queryable = new List<DateTime> { midDate, maxDate, minDate }.AsQueryable();
var orderedQueryable = queryable.OrderBy(date => date.Day);
// Act
var result = orderedQueryable.ThenBy<DateTime>("Hour", OrderByDirection.Ascending);
// replacedert
result.First().ShouldBe(minDate);
result.Last().ShouldBe(maxDate);
}
19
Source : IQueryableExtensionsTest.cs
with Apache License 2.0
from AndcultureCode
with Apache License 2.0
from AndcultureCode
[Fact]
public void ThenBy_When_OrderedDescending_With_Nested_Property_Returns_List_Ordered_Descending()
{
// Arrange
var minDate = DateTime.Now.AddHours(-1);
var midDate = DateTime.Now;
var maxDate = DateTime.Now.AddDays(1);
var queryable = new List<DateTime> { midDate, minDate, maxDate }.AsQueryable();
var orderedQueryable = queryable.OrderByDescending(date => date.Day);
string nestedProperty = "Date.Hour";
// Act
var result = orderedQueryable.ThenBy<DateTime>(nestedProperty, OrderByDirection.Descending);
// replacedert
result.First().ShouldBe(maxDate);
result.Last().ShouldBe(minDate);
}
See More Examples