/// <summary> /// Updates the specified object. /// </summary> private void Update() { try { bool isUpdated = false; if (IsUpdateLogConfiguration) { ConfigurationHelper.SetConfigurationValue(ConfigurationConstants.DeleteLogFiles, IsDeleteLogFiles); ConfigurationHelper.SetConfigurationValue(ConfigurationConstants.LogDeleteDays, LogDeleteDays); ConfigurationHelper.SetConfigurationValue(ConfigurationConstants.ZipLogDeleteMonths, LogDeleteMonths); isUpdated = true; } if (IsUpdateSchedulerConfiguration) { IEnumerable <EntityViewModel> checkedRecords = SchedulerData.Where(c1 => c1.IsChecked).ToList(); if (checkedRecords.Any()) { foreach (EntityViewModel model in checkedRecords) { if (model.LastSyncTime == null) { continue; } var data = new EntityModel { EntityId = model.EntityId, EndTime = model.LastSyncTime.Value }; EntityDataAccess.UpdateLastSyncTime(data); } isUpdated = true; } } if (IsUpdateEntityConfiguration) { foreach (EntityViewModel model in EntityData) { var data = new EntityModel { EntityId = model.EntityId, IsInboundActive = model.IsInboundActive, IsOutboundActive = model.IsOutboundActive }; EntityDataAccess.UpdateEntityInformation(data); } isUpdated = true; } if (isUpdated) { NotificationHelper.ShowMessage(Utilities.GetResourceValue("DataUpdateSuccess"), Utilities.GetResourceValue("CaptionInfo")); } else { NotificationHelper.ShowMessage(Utilities.GetResourceValue("NothingUpdated"), Utilities.GetResourceValue("CaptionWarning")); } } catch (Exception exception) { NotificationHelper.ShowMessage(exception.Message, Utilities.GetResourceValue("CaptionError")); } }
public string GetAppointmentsCountByUserId(string userGroupId, string userId) { try { db.CreateDataBase(userGroupId, db.scheduler); SQLiteConnection connection = new SQLiteConnection("Data Source=" + db.GetDataBasePath(dataBase)); connection.Open(); string sql = ""; SQLiteCommand command = null; SQLiteDataReader reader = null; SchedulerData x = new SchedulerData(); sql = "SELECT COUNT(rowid) FROM scheduler"; command = new SQLiteCommand(sql, connection); reader = command.ExecuteReader(); while (reader.Read()) { x.total = reader.GetValue(0) == DBNull.Value ? 0 : reader.GetInt32(0); } sql = string.Format("SELECT COUNT(rowid) FROM scheduler where cast((startDate/1000) AS INT) > CAST(strftime('%s', 'now') AS INT) AND userId = '{0}'", userId); command = new SQLiteCommand(sql, connection); reader = command.ExecuteReader(); while (reader.Read()) { x.appointments = reader.GetValue(0) == DBNull.Value ? 0 : reader.GetInt32(0); } connection.Close(); return(JsonConvert.SerializeObject(x, Formatting.None)); } catch (Exception e) { return(e.Message); } }
private T GetModel(SchedulerData schedulerData) { var model = (T)Activator.CreateInstance(typeof(T), schedulerData.CreatedByUserId); model.FillFromSchedulerData(schedulerData); return(model); }
public static void MapToOutput(this SchedulerData schedulerData, SchedulerDataOutput output) { output.InstanceId = schedulerData.InstanceId; output.JobGroups = schedulerData.JobGroups.ToArray(); output.JobsExecuted = schedulerData.JobsExecuted; output.JobsTotal = schedulerData.JobsTotal; output.Name = schedulerData.Name; output.RunningSince = schedulerData.RunningSince?.UnixTicks(); output.Status = schedulerData.Status.ToString().ToLower(); output.InProgress = schedulerData.InProgress.ToArray(); output.ServerInstanceMarker = output.ServerInstanceMarker; }
public void FillFromSchedulerData(SchedulerData schedulerData) { if (schedulerData.SchedulerActionType != SchedulerActionsType) { throw new Exception(String.Format("EmailNotificationsType not match. {0} - {1}", schedulerData.SchedulerActionType, SchedulerActionsType)); } SchedulerId = schedulerData.Id; OnDate = schedulerData.OnDate; DoFillFromSchedulerData(schedulerData); }
private void ProcessItem(SchedulerData schedulerData, bool isSync = false) { DateTime startTime = DateTime.Now; try { using (var unitOfWork = CreateUnitOfWork()) { var scheduler = unitOfWork.Schedulers.GetScheduler(schedulerData.Id); scheduler.StartProcessDate = startTime; unitOfWork.SaveChanges(); var manager = GetSchedulerManager(schedulerData.SchedulerActionType, new SchedulerActionArgs { UnitOfWork = unitOfWork, PathResolver = _pathResolver, TemplateBuilder = _templateBuilder, AttachmentService = _attachmentService }); manager.Process(schedulerData); scheduler.EndProcessDate = DateTime.Now; unitOfWork.SaveChanges(); } } catch (Exception ex) { LogHolder.MainLog.Error(ex, "Error processing scheduler - " + schedulerData.Id); try { using (var unitOfWork = CreateUnitOfWork()) { var scheduler = unitOfWork.Schedulers.GetScheduler(schedulerData.Id); scheduler.StartProcessDate = startTime; scheduler.EndProcessDate = DateTime.Now; scheduler.ErrorMessage = ex.GetBaseException().Message; unitOfWork.SaveChanges(); } } catch (Exception e) { LogHolder.MainLog.Error(e, "Error occured while saving scheduler data in failed state - " + schedulerData.Id); } if (isSync) { throw; } } }
public SchedulerData BuildSchedulerData() { var res = new SchedulerData(); res.Id = SchedulerId; res.SchedulerActionType = SchedulerActionsType; res.OnDate = OnDate ?? DateTime.Now; res.CreatedByUserId = CreatedByUserId; DoFillSchedulerData(res); return(res); }
private void MapScheduler(SchedulerData schedulerData, Data.DataContext.Entities.Scheduler destination) { destination.CreatedDate = DateTime.Now; destination.SchedulerActionType = schedulerData.SchedulerActionType; destination.CreatedByUserId = schedulerData.CreatedByUserId; destination.OnDate = schedulerData.OnDate; destination.EntityId1 = schedulerData.EntityId1; destination.EntityId2 = schedulerData.EntityId2; destination.EntityId3 = schedulerData.EntityId3; destination.EntityId4 = schedulerData.EntityId4; destination.EntityData1 = schedulerData.EntityData1; destination.EntityData2 = schedulerData.EntityData2; destination.EntityData3 = schedulerData.EntityData3; destination.EntityData4 = schedulerData.EntityData4; }
public static void MapToOutput(this SchedulerData schedulerData, SchedulerDataOutput output) { output.InstanceId = schedulerData.InstanceId; output.IsRemote = schedulerData.IsRemote; output.JobGroups = schedulerData.JobGroups.ToArray(); output.JobsExecuted = schedulerData.JobsExecuted; output.JobsTotal = schedulerData.JobsTotal; output.Name = schedulerData.Name; output.RunningSince = schedulerData.RunningSince; output.SchedulerTypeName = schedulerData.SchedulerType.FullName; output.Status = schedulerData.Status.ToString().ToLower(); output.TriggerGroups = schedulerData.TriggerGroups.ToArray(); output.CanStart = schedulerData.CanStart; output.CanShutdown = schedulerData.CanShutdown; }
public SchedulerData GetSchedulerdata() { SchedulerData schedulerData = null; try { ////获取scheduler数据 schedulerData = _schedulerDataProvider.GetSchedulerData(); } catch (Exception ex) { throw new Exception("获取scheduler数据出错", ex); } return(schedulerData); }
public SchedulerData CreateScheduler(string name, float _startInterval = 0, int _runCount = 0, float _timeInterval = 1.0f, SchedulerCallback _callback = null, object _param = null) { if (string.IsNullOrEmpty(name)) { Debug.LogError("The name is illegal"); return(null); } if (schedulers.ContainsKey(name)) { //关闭同名定时器 Stop(name); Debug.LogError("Create Same name Scheduler name = " + name); } SchedulerData scheduler = new SchedulerData(name, _startInterval, _runCount, _timeInterval, _callback, _param); scheduler.handle = scheduler.RunFunction(); StartCoroutine(scheduler.handle); //保存 schedulers.Add(name, scheduler); return(scheduler); }
/// <summary> /// Fills the data. /// </summary> private void FillData() { IsDeleteLogFiles = ConfigurationHelper.GetConfigurationValue <bool>(ConfigurationConstants.DeleteLogFiles); LogDeleteMonths = ConfigurationHelper.GetConfigurationValue(ConfigurationConstants.ZipLogDeleteMonths); LogDeleteDays = ConfigurationHelper.GetConfigurationValue(ConfigurationConstants.LogDeleteDays); foreach (EntityModel entityModel in EntityDataAccess.GetAllEntities()) { EntityData.Add(new EntityViewModel { EntityId = entityModel.EntityId, EntityName = entityModel.EntityName, IsInboundActive = entityModel.IsInboundActive, IsOutboundActive = entityModel.IsOutboundActive }); SchedulerData.Add(new EntityViewModel { EntityId = entityModel.EntityId, EntityName = entityModel.EntityName, LastSyncTime = entityModel.LastSyncTime, }); } }
public async void ProcessNotificationIfNeed(Guid reminderId, int recurrenceIndex) { if (reminderId == Guid.Empty) { return; } IEnumerable <Page> openedPages = navigationService.GetOpenedPages <RemindersDemo>(); RemindersDemo remindersDemo = (openedPages.Any() ? openedPages.Last() : await navigationService.PushPage(SchedulerData.GetItem(typeof(RemindersDemo)))) as RemindersDemo; remindersDemo?.OpenAppointmentEditForm(reminderId, recurrenceIndex); }
static int CreateScheduler(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 2) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); SchedulerData o = obj.CreateScheduler(arg0); ToLua.PushObject(L, o); return(1); } else if (count == 3) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); SchedulerData o = obj.CreateScheduler(arg0, arg1); ToLua.PushObject(L, o); return(1); } else if (count == 4) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); int arg2 = (int)LuaDLL.luaL_checknumber(L, 4); SchedulerData o = obj.CreateScheduler(arg0, arg1, arg2); ToLua.PushObject(L, o); return(1); } else if (count == 5) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); int arg2 = (int)LuaDLL.luaL_checknumber(L, 4); float arg3 = (float)LuaDLL.luaL_checknumber(L, 5); SchedulerData o = obj.CreateScheduler(arg0, arg1, arg2, arg3); ToLua.PushObject(L, o); return(1); } else if (count == 6) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); int arg2 = (int)LuaDLL.luaL_checknumber(L, 4); float arg3 = (float)LuaDLL.luaL_checknumber(L, 5); SchedulerCallback arg4 = (SchedulerCallback)ToLua.CheckDelegate <SchedulerCallback>(L, 6); SchedulerData o = obj.CreateScheduler(arg0, arg1, arg2, arg3, arg4); ToLua.PushObject(L, o); return(1); } else if (count == 7) { Scheduler obj = (Scheduler)ToLua.CheckObject <Scheduler>(L, 1); string arg0 = ToLua.CheckString(L, 2); float arg1 = (float)LuaDLL.luaL_checknumber(L, 3); int arg2 = (int)LuaDLL.luaL_checknumber(L, 4); float arg3 = (float)LuaDLL.luaL_checknumber(L, 5); SchedulerCallback arg4 = (SchedulerCallback)ToLua.CheckDelegate <SchedulerCallback>(L, 6); object arg5 = ToLua.ToVarObject(L, 7); SchedulerData o = obj.CreateScheduler(arg0, arg1, arg2, arg3, arg4, arg5); ToLua.PushObject(L, o); return(1); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: Scheduler.CreateScheduler")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void ProcessSchedulerSync(SchedulerData schedulerData) { ProcessItem(schedulerData, true); }
public ScheduleDisplay(SchedulerData schedulerData) : this() { this._schedulerData = schedulerData; }
public void Process(SchedulerData schedulerData) { var model = GetModel(schedulerData); DoProcess(model); }
protected override void DoFillSchedulerData(SchedulerData schedulerData) { schedulerData.EntityData1 = Value; }
protected override void DoFillFromSchedulerData(SchedulerData schedulerData) { Value = schedulerData.EntityData1; }
protected abstract void DoFillSchedulerData(SchedulerData schedulerData);
protected override void DoFillFromSchedulerData(SchedulerData schedulerData) { UserForgotPasswordId = schedulerData.EntityId1.Value; }
protected override void DoFillSchedulerData(SchedulerData schedulerData) { schedulerData.EntityId1 = UserForgotPasswordId; }
public void EmailSync(SchedulerData schedulerData) { SchedulerThread.NotificationWorker.ProcessSchedulerSync(schedulerData); EmailSenderThread.NotificationWorker.ProcessSchedulerSync(schedulerData.Id); }