Ejemplo n.º 1
0
        private ScheduleResult save(ScheduleInfo info)
        {
            var schedule = new Schedule
            {
                Out      = parent.BaseMove.GetAccount(info.OutUrl),
                In       = parent.BaseMove.GetAccount(info.InUrl),
                Category = parent.BaseMove.GetCategory(info.CategoryName),
                User     = parent.Safe.GetCurrent()
            };

            info.Update(schedule);

            if (schedule.ID == 0 || !schedule.IsDetailed())
            {
                repos.Schedule.Save(schedule);
                repos.Detail.SaveDetails(schedule);
            }
            else
            {
                repos.Detail.SaveDetails(schedule);
                repos.Schedule.Save(schedule);
            }

            repos.Control.AnticipateRobotCheck(schedule.User.Control);

            return(new ScheduleResult(schedule.Guid));
        }
Ejemplo n.º 2
0
        public DateTime?GetNextRunDate(Schedule schedule, DateTime?fromDate, DateTime?lastFromDate = null)
        {
            var provider = GetRecurrenceProvider(schedule);

            if (provider == null)
            {
                return(null);
            }

            var info = new ScheduleInfo();

            if (fromDate.HasValue)
            {
                info.ScheduleFromDate = fromDate.Value;
            }
            else
            {
                info.ScheduleFromDate = schedule.LastRunStarted;
            }
            if (!info.ScheduleFromDate.HasValue)
            {
                info.ScheduleFromDate = DateTime.Now;
            }

            DateTime?nextRun = provider.GetNextRunDate(info, schedule, lastFromDate);

            while (nextRun.HasValue && nextRun.Value < DateTime.Now)
            {
                nextRun = provider.GetNextRunDate(info, schedule, nextRun);
            }
            return(nextRun);
        }
Ejemplo n.º 3
0
        public static List <ScheduleInfo> GetSchedulesFromClassroomId(int classroomId)
        {
            using SQLiteCommand cmd = GlobalFunction.OpenDbConnection();
            cmd.CommandText         = "SELECT * FROM schedules WHERE classroomId = @classroomId";
            cmd.Parameters.AddWithValue("classroomId", classroomId);
            cmd.Prepare();
            using SQLiteDataReader rdr = cmd.ExecuteReader();
            List <ScheduleInfo> scheduleList = new List <ScheduleInfo>();

            while (rdr.Read())
            {
                ScheduleInfo scheduleInfo = new ScheduleInfo()
                {
                    scheduleId   = rdr.GetInt32(0),
                    classroomId  = rdr.GetInt32(1),
                    roomId       = rdr.GetInt32(2),
                    repetitivity = rdr.GetInt32(3),
                    nextDate     = rdr.GetInt32(4),
                    duration     = rdr.GetInt32(5)
                };
                scheduleList.Add(scheduleInfo);
            }
            rdr.Close();
            return(scheduleList);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Starts processing messages.
        /// </summary>
        public override void Start()
        {
            var now = EnvironmentInfo.GetCurrentDateTimeUtc();

            _nextTimeToRun = ScheduleInfo.NextTimeToRun(now);
            base.Start();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 暂停指定任务计划
        /// </summary>
        /// <returns></returns>
        public static async Task <string> PauseScheduleJobAsync(ScheduleInfo scheduleInfo)
        {
            try
            {
                _scheduler = await GetSchedulerAsync();

                //使任务暂停
                await _scheduler.PauseJob(new JobKey(scheduleInfo.JobName, scheduleInfo.JobGroup));

                //更新数据库
                scheduleInfo.RunStatus = (int)JobStatus.Pause;
                Manager.UpdateScheduleStatus(scheduleInfo);
                var status = new StatusViewModel()
                {
                    Status = 0,
                    Msg    = "暂停任务计划成功",
                };

                return(JsonConvert.SerializeObject(status));
            }
            catch (Exception ex)
            {
                var status = new StatusViewModel()
                {
                    Status = -1,
                    Msg    = "暂停任务计划失败",
                };
                return(JsonConvert.SerializeObject(status));
            }
        }
Ejemplo n.º 6
0
        static private async Task create_user_custom_answering_rule()
        {
            var parameters = new CreateAnsweringRuleRequest();

            parameters.enabled = true;
            parameters.type    = "Custom";
            parameters.name    = "My weekly meetings";
            var          schedule     = new ScheduleInfo();
            var          weeklyRanges = new WeeklyScheduleInfo();
            TimeInterval meetingTime  = new TimeInterval();

            meetingTime.from    = "09:00";
            meetingTime.to      = "10:00";
            weeklyRanges.monday = new TimeInterval[] { meetingTime };

            meetingTime         = new TimeInterval();
            meetingTime.from    = "10:00";
            meetingTime.to      = "15:00";
            weeklyRanges.friday = new TimeInterval[] { meetingTime };

            schedule.weeklyRanges         = weeklyRanges;
            parameters.schedule           = schedule;
            parameters.callHandlingAction = "TakeMessagesOnly";

            var response = await restClient.Restapi().Account().Extension().AnsweringRule().Post(parameters);

            var jsonStr = JsonConvert.SerializeObject(response);

            Console.WriteLine(jsonStr);
        }
Ejemplo n.º 7
0
 private static Action Job(ScheduleInfo scheduleInfo, Action <ScheduleInfo> action)
 {
     return(() =>
     {
         action(scheduleInfo);
     });
 }
Ejemplo n.º 8
0
    public void GotSchedule()
    {
        ScheduleInfo schedule = null;


        foreach (ScheduleInfo info in mScheduleEvent.Response.data)
        {
            bool bFoundMyTeam = false;
            if (UserMgr.UserInfo.GetTeamCode().Equals(info.extend[0].teamCode))
            {
                bFoundMyTeam = true;
            }
            else if (UserMgr.UserInfo.GetTeamCode().Equals(info.extend[1].teamCode))
            {
                bFoundMyTeam = true;
            }

            if (bFoundMyTeam &&
                info.gameStatus == ScheduleInfo.GAME_PLAYING)
            {
                schedule = info;
                break;
            }
        }

        if (schedule != null)
        {
            transform.FindChild("TopInfoItem").GetComponent <ScriptTopInfoItem>().SetVSInfo(schedule);
        }
    }
Ejemplo n.º 9
0
        // [ApiParamValidation]
        public ServiceResponseMessage Create([FromForm] ScheduleInfo task)
        {
            ScheduleEntity model = new ScheduleEntity
            {
                AssemblyName     = task.AssemblyName,
                ClassName        = task.ClassName,
                CreateTime       = DateTime.Now,
                CronExpression   = task.CronExpression,
                EndDate          = task.EndDate,
                Remark           = task.Remark,
                StartDate        = task.StartDate,
                Title            = task.Title,
                Status           = (int)ScheduleStatus.Stop,
                CustomParamsJson = task.CustomParamsJson,
                RunLoop          = task.RunLoop,
                TotalRunCount    = 0,
                CreateUserName   = task.CreateUserName
            };
            var result = _scheduleService.Add(model, task.Keepers, task.Nexts, task.Executors);

            if (result.Status == ResultStatus.Success)
            {
                if (task.RunNow)
                {
                    var start = _scheduleService.Start(model);
                    return(ApiResponse(ResultStatus.Success, "任务创建成功!启动状态为:" + (start.Status == ResultStatus.Success ? "成功" : "失败"), model.Id));
                }
            }
            return(result);
        }
        public void DefineSchedule(ScheduleInfo scheduleInfo)
        {
            ParkingManagementDAL parkingManagementDAL = new ParkingManagementDAL();

            parkingManagementDAL.DefineSchedule(scheduleInfo);
            parkingManagementDAL = null;
        }
Ejemplo n.º 11
0
        public void MondayItemInPast_OnRollDay_IsTomorrow()
        {
            // Arrange
            var currentTime = new DateTimeOffset(2015, 01, 12, 16, 35, 22,
                                                 TimeZoneInfo.Local.GetUtcOffset(ScheduleHelper.Now()));

            SetCurrentTime(currentTime);

            var monday = new DateTimeOffset(2015, 01, 12, 15, 32, 00,
                                            TimeZoneInfo.Local.GetUtcOffset(ScheduleHelper.Now()));
            var expectedTime = new DateTimeOffset(2015, 01, 13, 15, 32, 00,
                                                  TimeZoneInfo.Local.GetUtcOffset(ScheduleHelper.Now()));

            Assert.AreEqual(DayOfWeek.Monday, monday.DayOfWeek);

            ScheduleInfo info = new ScheduleInfo()
            {
                EventTime = monday,
                TimeType  = ScheduleTimeType.Standard,
            };

            // Act
            var newDateTime = ScheduleHelper.RollForwardToNextDay(info);

            // Assert
            Assert.AreEqual(expectedTime, newDateTime);
        }
        public ServiceResponseMessage Update(ScheduleInfo task)
        {
            var result = _scheduleService.Edit(task);

            result.Data = new { id = task.Id };
            return(result);
        }
Ejemplo n.º 13
0
    public void Init(ScheduleInfo schedule, int index)
    {
        mSchedule = schedule;
        mIndex    = index;
        ActiveAllBtns();

        UILabel  lblDetail    = mLblDetail.GetComponent <UILabel> ();
        UILabel  lblLeftTeam  = mLblLeftTeam.GetComponent <UILabel> ();
        UILabel  lblRightTeam = mLblRightTeam.GetComponent <UILabel> ();
        UILabel  lblScore     = mLblScore.GetComponent <UILabel> ();
        UISprite sprLeftTeam  = mSprLeftTeam.GetComponent <UISprite> ();
        UISprite sprRightTeam = mSprRightTeam.GetComponent <UISprite> ();

        lblDetail.text          = UtilMgr.ConvertToDate(schedule.startTime);
        lblLeftTeam.text        = schedule.extend [0].teamName;
        lblRightTeam.text       = schedule.extend [1].teamName;
        lblScore.text           = schedule.extend [0].score + " : " + schedule.extend [1].score;
        sprLeftTeam.spriteName  = UtilMgr.GetTeamEmblem(schedule.extend [0].imageName);
        sprRightTeam.spriteName = UtilMgr.GetTeamEmblem(schedule.extend [1].imageName);

        //temp
        if (schedule.gameStatus == 0)
        {
        }
        else if (schedule.gameStatus == 1)
        {
            mBGMatch.GetComponent <UISprite>().color = new Color(0f, 1f, 0f, 0.5f);
        }
        else
        {
            mBGMatch.GetComponent <UISprite>().color = new Color(0f, 0f, 1f, 0.5f);
        }
    }
Ejemplo n.º 14
0
        public override void Serialize(GenericWriter writer)
        {
            base.Serialize(writer);

            int version = writer.SetVersion(1);

            switch (version)
            {
            case 1:
            {
                writer.Write(SkipTicks);
                writer.Write(SkippedTicks);
            }
                goto case 0;

            case 0:
            {
                writer.WriteBlock(
                    w =>
                    {
                        writer.Write(CurrentSeason);
                        writer.Write(TopListCount);
                        writer.Write(RunnersUpCount);

                        writer.WriteType(ScheduleInfo, t => ScheduleInfo.Serialize(w));

                        writer.Write(AutoPvP.SeasonSchedule.Enabled);
                    });

                writer.WriteBlock(w => writer.WriteType(Rewards, t => Rewards.Serialize(w)));
            }
            break;
            }
        }
Ejemplo n.º 15
0
        private async Task <bool> CreateNotification(NotificationModel model)
        {
            #region Create Schedule

            //TODO: It will be better to use automapper.
            var entity = new ScheduleInfo
            {
                RecurseId         = model.RecurseId,
                Module            = model.Module,
                ExpirationDate    = model.ExpirationDate,
                MessageTemplateId = (long)model.MessageTemplate,
                JsonData          = model.JsonData,
                UserSchedules     = model.UserIds.Select(id => new UserSchedule
                {
                    UserId = id,
                    Status = NotificationStatus.None
                }).ToList()
            };

            await _scheduleRepository.AddAsync(entity);

            await _scheduleRepository.SaveAsync();

            #endregion

            #region Create jobs and save created jobs data

            var jobDays   = GetJobDatesByMessageTemplate(model.MessageTemplate);
            var fireDates = jobDays.Select(d => entity.ExpirationDate.AddDays(-d));
            entity.ScheduleJobs = await StartJobs(fireDates, entity);

            return(await _scheduleRepository.SaveAsync());

            #endregion
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 恢复指定的任务计划**恢复的是暂停后的任务计划,如果是程序奔溃后 或者是进程杀死后的恢复,此方法无效
        /// </summary>
        /// <returns></returns>
        public static async Task <string> ResumeScheduleJobAsync(ScheduleInfo scheduleInfo)
        {
            try
            {
                scheduleInfo.RunStatus = (int)JobStatus.Waiting;
                //更新model
                Manager.UpdateScheduleStatus(scheduleInfo);
                _scheduler = await GetSchedulerAsync();

                //resumejob 恢复
                await _scheduler.ResumeJob(new JobKey(scheduleInfo.JobName, scheduleInfo.JobGroup));

                var status = new StatusViewModel()
                {
                    Status = 0,
                    Msg    = "恢复任务计划成功",
                };
                return(JsonConvert.SerializeObject(status));
            }
            catch (Exception ex)
            {
                var status = new StatusViewModel()
                {
                    Status = -1,
                    Msg    = "恢复任务计划失败",
                };
                return(JsonConvert.SerializeObject(status));
            }
        }
Ejemplo n.º 17
0
        public static void Initialize(ScheduleDbContext context)
        {
            //if (env.EnvironmentName == "Development")
            context.Database.EnsureDeleted();
            context.Database.EnsureCreated();

            // Look for any data
            if (context.ScheduleInfos.Any())
            {
                return; // DB has been seeded
            }

            var scheduleInfos = new ScheduleInfo[]
            {
                new ScheduleInfo {
                    InfoName = "info1", Schema = "SMART901"
                }
            };

            foreach (ScheduleInfo s in scheduleInfos)
            {
                context.ScheduleInfos.Add(s);
            }
            context.SaveChanges();
        }
Ejemplo n.º 18
0
        public ScheduleInfo Schedule(DateTime date, int?userId = null)
        {
            bool newUser = RModel.IsFirstTime(userId);
            IList <TimeslotJson> timeslots = RModel.GetTimeslots(date, newUser);
            string customerMessage;

            BlockedPeriod blocked = RModel.FindBlockedPeriodByDate(date);

            if (blocked == null)
            {
                customerMessage = null;
            }
            else
            {
                customerMessage = blocked.CustomerMessage;
            }

            var data = new ScheduleInfo {
                PreviousDay     = timeManager.PreviousDay(date),
                NextDay         = timeManager.NextDay(date),
                CustomerMessage = customerMessage,
                Timeslots       = timeslots
            };

            return(data);
        }
Ejemplo n.º 19
0
        public IActionResult OnGet(string methodName)
        {
            var mi = typeof(ScheduledExecutionService)
                     .GetMethod(methodName);

            if (mi == null)
            {
                return(NotFound());
            }

            if (mi.GetCustomAttributes(typeof(CronAttribute), true).Length == 0)
            {
                return(NotFound());
            }

            var expression = (mi.GetCustomAttributes(typeof(CronAttribute), true)[0] as CronAttribute).CronExpression;

            ScheduleInfo = DbContext.GetParamArray <ScheduleInfo>().FirstOrDefault(c => c.MethodName == methodName);
            if (ScheduleInfo == null)
            {
                ScheduleInfo = new ScheduleInfo
                {
                    MethodName = methodName,
                };
            }

            ScheduleInfo.CronExpression = expression;

            return(Page());
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 添加任务计划//或者进程终止后的开启
        /// </summary>
        /// <returns></returns>
        public static async Task <bool> StartScheduleJobAsync(ScheduleInfo scheduleInfo, bool doatonce)
        {
            try
            {
                if (scheduleInfo != null)
                {
                    if (scheduleInfo.StartRunTime == null)
                    {
                        scheduleInfo.StartRunTime = DateTime.Now;
                    }
                    DateTimeOffset startRunTime = DateBuilder.NextGivenSecondDate(scheduleInfo.StartRunTime, 1);
                    if (scheduleInfo.EndRunTime == null)
                    {
                        scheduleInfo.EndRunTime = DateTime.MaxValue.AddDays(-1);
                    }
                    DateTimeOffset endRunTime = DateBuilder.NextGivenSecondDate(scheduleInfo.EndRunTime, 1);
                    if (string.IsNullOrWhiteSpace(scheduleInfo.CronExpress) || doatonce)
                    {
                        DateTime dt = DateTime.Now.AddMinutes(1);
                        scheduleInfo.CronExpress = $"0 {dt.Minute} {dt.Hour} * * ?";
                    }
                    _scheduler = await GetSchedulerAsync();

                    Type       type = Type.GetType(scheduleInfo.JobName, true, true);
                    IJobDetail job  = JobBuilder.Create(type)
                                      .WithIdentity(scheduleInfo.JobName, scheduleInfo.JobGroup)
                                      .Build();
                    ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()
                                           .StartAt(startRunTime)
                                           .EndAt(endRunTime)
                                           .WithIdentity(scheduleInfo.JobName, scheduleInfo.JobGroup)
                                           .WithCronSchedule(scheduleInfo.CronExpress)
                                           .Build();
                    ((CronTriggerImpl)trigger).MisfireInstruction = MisfireInstruction.CronTrigger.DoNothing;
                    //将信息写入
                    scheduleInfo.RunStatus = (int)JobStatus.Waiting;
                    Manager.SaveSchedule(scheduleInfo);
                    IList <ICronTrigger> triggers = new List <ICronTrigger> {
                        trigger
                    };
                    await _scheduler.ScheduleJob(job, new ReadOnlyCollection <ICronTrigger>(triggers), true);

                    if (!_scheduler.IsStarted)
                    {
                        await _scheduler.Start();
                    }

                    return(true);
                }
                return(false);
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("because one already exists with this identification"))
                {
                    string ret = await ResumeScheduleJobAsync(scheduleInfo);
                }
                return(false);
            }
        }
Ejemplo n.º 21
0
        private async Task <bool> CreateNotification(CreateNotificationModel model)
        {
            #region Create Schedule

            //TODO: It will be better to use automapper.
            var entity = new ScheduleInfo
            {
                RecurseId         = model.RecurseId,
                Module            = model.Module,
                ExpirationDate    = model.ExpirationDate,
                MessageTemplateId = (long)model.MessageTemplate,
                JsonData          = model.JsonData,
                UserSchedules     = model.UserIds.Select(id => new UserSchedule()
                {
                    UserId = id,
                    Status = NotificationStatus.None
                }).ToList()
            };

            await _scheduleRepository.AddAsync(entity);

            await _scheduleRepository.SaveAsync();

            #endregion

            #region Create Jobs for schedule

            //TODO: Store job fire interval in DB or in some configuration file
            var jobDates = new List <int> {
                2, 10, 15
            };
            var createdJobs = new List <ScheduleJob>();
            foreach (var date in jobDates)
            {
                var fireDate = entity.ExpirationDate.AddDays(-date);
                var jobId    = await _scheduledJobService.StartJobAsync(new NotificationJob(_serviceProvider), //TODO-Question: Why we create new obj?
                                                                                                               //TODO: Change this logic when Hangfire will change parameter type to DateTime.
                                                                        fireDate - DateTime.Now,
                                                                        new NotificationJobParameter
                {
                    ScheduleId = entity.Id
                });

                createdJobs.Add(new ScheduleJob()
                {
                    JobId    = jobId,
                    FireDate = fireDate,
                });
            }

            #endregion

            #region Save created jobs data

            entity.ScheduleJobs = createdJobs;
            return(await this._scheduleRepository.SaveAsync());

            #endregion
        }
Ejemplo n.º 22
0
 private void GenerateFilmReport(StreamWriter writer, IList <FilmDetails> films)
 {
     foreach (FilmDetails filmDetails in (IEnumerable <FilmDetails>)films)
     {
         ScheduleInfo scheduleInfo1 = (ScheduleInfo)null;
         writer.WriteLine("Schedule for: {0}", (object)filmDetails.Title);
         writer.WriteLine(string.Empty);
         foreach (ScheduleInfo scheduleInfo2 in filmDetails.ScheduledTimes)
         {
             if (!(scheduleInfo2.ScheduledTime == new DateTime(2009, 1, 1)) && !(scheduleInfo2.ScheduledTime == new DateTime(2009, 12, 31)))
             {
                 if (scheduleInfo1 == null)
                 {
                     DateTime? @in = scheduleInfo2.Film.In;
                     if (@in.HasValue)
                     {
                         StreamWriter streamWriter = writer;
                         string       format       = "{0} - Arriving in {2} from {1}";
                         @in = scheduleInfo2.Film.In;
                         string str = @in.Value.ToString("ddd dd/MM/yyyy");
                         string originatingRegion = scheduleInfo2.Film.OriginatingRegion;
                         string city = scheduleInfo2.City;
                         streamWriter.WriteLine(format, (object)str, (object)originatingRegion, (object)city);
                     }
                     else
                     {
                         writer.WriteLine("{0} - Must have arrived in {1} by this date", (object)scheduleInfo2.ScheduledTime.AddDays(-1.0).Date.ToString("ddd dd/MM/yyyy"), (object)scheduleInfo2.City);
                     }
                     writer.WriteLine("{0} - First screening in {1}", (object)scheduleInfo2.ScheduledTime.ToString("ddd dd/MM/yyyy HH:mm"), (object)scheduleInfo2.City);
                 }
                 else if (scheduleInfo1.City != scheduleInfo2.City)
                 {
                     writer.WriteLine("{0} - Last screening in {1}", (object)scheduleInfo1.ScheduledTime.ToString("ddd dd/MM/yyyy HH:mm"), (object)scheduleInfo1.City);
                     StreamWriter streamWriter1 = writer;
                     string       format1       = "{0} - Transit from {1} to {2}";
                     DateTime     dateTime      = scheduleInfo1.ScheduledTime.AddDays(1.0);
                     dateTime = dateTime.Date;
                     string str1  = dateTime.ToString("ddd dd/MM/yyyy");
                     string city1 = scheduleInfo1.City;
                     string city2 = scheduleInfo2.City;
                     streamWriter1.WriteLine(format1, (object)str1, (object)city1, (object)city2);
                     StreamWriter streamWriter2 = writer;
                     string       format2       = "{0} - First screening in {1}";
                     dateTime = scheduleInfo2.ScheduledTime;
                     string str2  = dateTime.ToString("ddd dd/MM/yyyy HH:mm");
                     string city3 = scheduleInfo2.City;
                     streamWriter2.WriteLine(format2, (object)str2, (object)city3);
                 }
                 if (scheduleInfo2.Film.ScheduledTimes.IndexOf(scheduleInfo2) == scheduleInfo2.Film.ScheduledTimes.Count - 2)
                 {
                     writer.WriteLine("{0} - Last screening in {1}", (object)scheduleInfo2.ScheduledTime.ToString("ddd dd/MM/yyyy HH:mm"), (object)scheduleInfo2.City);
                 }
                 scheduleInfo1 = scheduleInfo2;
             }
         }
         writer.WriteLine(string.Empty);
         writer.WriteLine(string.Empty);
     }
 }
 public virtual void Dispose()
 {
     if (scheduleInfo.scheduleWork && !scheduleInfo.suppress)
     {
         scheduleInfo.executor.RequestHostingService();
     }
     scheduleInfo = this.oldValue;
 }
 public virtual void Dispose()
 {
     if (scheduleInfo.scheduleWork && !scheduleInfo.suppress)
     {
         scheduleInfo.executor.RequestHostingService();
     }
     scheduleInfo = this.oldValue;
 }
Ejemplo n.º 25
0
        public object Schedule(TimeSpan due, TimeSpan?period, Action <object> handler, object context)
        {
            var info = new ScheduleInfo(due, period, handler, context);

            this.activeSchedules.Add(info);

            return(info);
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Gets the scheduled entries of the specified event.
        /// </summary>
        /// <param name="eventId">Internal identifier of the event.</param>
        /// <returns>Scheduled entries of the specified event.</returns>
        public ScheduleInfo GetEventEntries(int eventId)
        {
            // Get an instance of the Schedule DAO using the DALFactory
            ISchedule dao = (ISchedule)DALFactory.DAO.Create(DALFactory.Module.Schedule);

            ScheduleInfo schedule = dao.GetEventEntries(eventId);

            return(schedule);
        }
Ejemplo n.º 27
0
    public ScheduleInfo GetEvents(int scheduleId)
    {
        // Get an instance of the Schedule BO
        Schedule bll = new Schedule();

        ScheduleInfo schedule = bll.GetEvents(scheduleId);

        return(schedule);
    }
Ejemplo n.º 28
0
        /// <summary>
        /// Adds the schedule.
        /// </summary>
        /// <param name="schedule">The schedule.</param>
        public void AddSchedule(ScheduleInfo schedule)
        {
            schedule.Id = schedule.FilePath.GetHashCode();

            if (Schedules.All(p => p.Id != schedule.Id))
            {
                Schedules.Add(schedule);
            }
        }
Ejemplo n.º 29
0
    public ScheduleInfo GetEventEntry(int eventId, int plotId)
    {
        // Get an instance of the Schedule BO
        Schedule bll = new Schedule();

        ScheduleInfo schedule = bll.GetEventEntry(eventId, plotId);

        return(schedule);
    }
Ejemplo n.º 30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        public void AddSchedule(ScheduleInfo model)
        {
            var info = base.Single <ScheduleInfo>(t => t.Id == model.Id || (t.JobGroup == model.JobGroup && t.JobName == model.JobName));

            if (info == null)
            {
                base.Add(model, true);
            }
        }
Ejemplo n.º 31
0
 /// <summary>
 /// Helper method to convert a <see cref="ScheduleInfo"/> instance
 /// to a <see cref="ScheduleData"/> instance.
 /// </summary>
 /// <param name="info">The full data instance.</param>
 /// <returns>The converted data.</returns>
 public static ScheduleData ToScheduleData(this ScheduleInfo info)
 {
     return(new ScheduleData()
     {
         Uuid = info?.Uuid,
         Link = info?.Link,
         Name = info?.Name
     });
 }
Ejemplo n.º 32
0
        public static ScheduleInfo CreateScheduleInfoObj(XmlNode node)
        {
            try
            {
                ScheduleInfo obj = new ScheduleInfo();

                obj.Id = String.IsNullOrEmpty(node.SelectSingleNode("//CaseId").InnerText) ? -1 : Convert.ToInt32(node.SelectSingleNode("//CaseId").InnerText);
                obj.LocalId = String.IsNullOrEmpty(node.SelectSingleNode("//LocalId").InnerText) ? null : (Int32?)Convert.ToInt32(node.SelectSingleNode("//LocalId").InnerText);
                obj.SurgeonInfo = new DoctorInfo(); // create new docInfo object
                obj.SurgeonId = String.IsNullOrEmpty(node.SelectSingleNode("//SurgeonId").InnerText) ? -1 : Convert.ToInt32(node.SelectSingleNode("//SurgeonId").InnerText);
                obj.SurgeryDate = Convert.ToDateTime(node.SelectSingleNode("//SurgeryDate").InnerText);
                obj.DeliverByDate = String.IsNullOrEmpty(node.SelectSingleNode("//DeliverByDate").InnerText) ? obj.SurgeryDate.AddDays(-1) : (DateTime?)Convert.ToDateTime(node.SelectSingleNode("//DeliverByDate").InnerText);
                obj.VerdibraeLevel = String.IsNullOrEmpty(node.SelectSingleNode("//VerdibraeLevel").InnerText) ? null : node.SelectSingleNode("//VerdibraeLevel").InnerText;
                obj.ModifiedDate = String.IsNullOrEmpty(node.SelectSingleNode("//ModifiedDate").InnerText) ? DateTime.Now : (DateTime?)Convert.ToDateTime(node.SelectSingleNode("//ModifiedDate").InnerText);
                obj.ModifiedFrom = 'M';
                obj.SurgeryType = node.SelectSingleNode("//SurgeryType").InnerText;
                obj.MedicalRecordNumber = String.IsNullOrEmpty(node.SelectSingleNode("//MedicalRecordNumber").InnerText) ? null : node.SelectSingleNode("//MedicalRecordNumber").InnerText;
                obj.PatientId = String.IsNullOrEmpty(node.SelectSingleNode("//PatientId").InnerText) ? null : node.SelectSingleNode("//PatientId").InnerText;
                obj.SurgeryStatus = String.IsNullOrEmpty(node.SelectSingleNode("//SurgeryStatus").InnerText) ? 7 : Convert.ToInt32(node.SelectSingleNode("//SurgeryStatus").InnerText);
                obj.HospitalInfo = new HospitalInfo();
                obj.LocationId = String.IsNullOrEmpty(node.SelectSingleNode("//LocationId").InnerText) ? -1 : Convert.ToInt32(node.SelectSingleNode("//LocationId").InnerText);
                obj.HospitalInfo.Id = obj.LocationId;
                obj.LoanerFlag = String.IsNullOrEmpty(node.SelectSingleNode("//LoanerFlag").InnerText) ? 'N' : Convert.ToChar(node.SelectSingleNode("//LoanerFlag").InnerText);
                obj.OrderSourceId = 4;
                obj.KitTypeNumber = String.IsNullOrEmpty(node.SelectSingleNode("//KitTypeNumber").InnerText) ? null : node.SelectSingleNode("//KitTypeNumber").InnerText;
                obj.PartNumber = String.IsNullOrEmpty(node.SelectSingleNode("//PartNumber").InnerText) ? null : node.SelectSingleNode("//PartNumber").InnerText;
                obj.CreatedDate = String.IsNullOrEmpty(node.SelectSingleNode("//CreatedDate").InnerText) ? DateTime.Now : Convert.ToDateTime(node.SelectSingleNode("//CreatedDate").InnerText);

                return obj;
            }
            catch (Exception ex)
            {
                Session.Session.errorMessage = "Fail to create schedule object from JSON create case data";
                MTSLoggerLib.Entities.Logger.MobileLog mobileErrorLogger = new MTSLoggerLib.Entities.Logger.MobileLog();
                mobileErrorLogger.SrvErrorException = ex.Message;
                mobileErrorLogger.SrvErrorMsg = Session.Session.errorMessage;
                MTSUtilities.Logger.Log.MOBILEToDB(mobileErrorLogger);
                return null;
            }
        }
Ejemplo n.º 33
0
        public static int CreateDoctor(ScheduleInfo obj)
        {
            DoctorInfo newDoctor = new DoctorInfo();

            if (obj.Surgeon == null || !Regex.IsMatch(obj.Surgeon, @"^[\p{L}\p{M}' \.\-]+$"))
            {
                Session.Session.errorMessage = "Invalid Doctor name";
                return -1;
            }

            string[] name = Regex.Split(obj.Surgeon, @"^[.,!?;:]\s*|\s+");

            if (name.Length > 1)
            {
                newDoctor.FirstName = name[0];
                newDoctor.LastName = name[1];
                newDoctor.DoctorName = obj.Surgeon;
                newDoctor.HospitalId = obj.LocationId;
                newDoctor.DoctorType = obj.SurgeryType;
                newDoctor.Distributor = iTraycerSection.Session.Session.userInfo.CustomerId;
            }
            return DataLayer.Controller.InsertDoctor(newDoctor);
        }
 public ScheduleWork(WorkflowExecutor executor, bool suppress)
 {
     this.oldValue = scheduleInfo;
     scheduleInfo = new ScheduleInfo(executor, suppress);
 }
 public ScheduleWork(WorkflowExecutor executor)
 {
     this.oldValue = scheduleInfo;
     scheduleInfo = new ScheduleInfo(executor, false);
 }