Beispiel #1
0
        /// <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"));
            }
        }
Beispiel #2
0
 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);
        }
Beispiel #4
0
 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;
 }
Beispiel #5
0
        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;
                }
            }
        }
Beispiel #7
0
        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;
 }
Beispiel #9
0
 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);
        }
Beispiel #11
0
    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);
    }
Beispiel #12
0
        /// <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,
                });
            }
        }
Beispiel #13
0
        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);
        }
Beispiel #14
0
    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);
        }
Beispiel #18
0
 protected override void DoFillSchedulerData(SchedulerData schedulerData)
 {
     schedulerData.EntityData1 = Value;
 }
Beispiel #19
0
 protected override void DoFillFromSchedulerData(SchedulerData schedulerData)
 {
     Value = schedulerData.EntityData1;
 }
Beispiel #20
0
 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;
 }
Beispiel #23
0
 public void EmailSync(SchedulerData schedulerData)
 {
     SchedulerThread.NotificationWorker.ProcessSchedulerSync(schedulerData);
     EmailSenderThread.NotificationWorker.ProcessSchedulerSync(schedulerData.Id);
 }