public IActionResult UrlForm(UrlAndSchedulerModel saveModel)
        {
            if (ModelState.IsValid)
            {
                Url urlSaveModel = new Url();
                urlSaveModel.IsActive = Convert.ToInt32(saveModel.IsActive);
                urlSaveModel.Name     = saveModel.UrlName;
                urlSaveModel.Address  = saveModel.UrlAddress;
                urlSaveModel.UserId   = SessionUserId;
                urlSaveModel.Id       = saveModel.UrlId;
                UrlScheduler urlSchedulerSaveModel = new UrlScheduler();
                urlSchedulerSaveModel.Id                    = saveModel.ScheduleId;
                urlSchedulerSaveModel.IsActive              = 1;
                urlSchedulerSaveModel.RepeatForever         = 1;
                urlSchedulerSaveModel.WithInternalInMinutes = saveModel.WithInternalInMinutes;
                DateTime convertStartDate = Convert.ToDateTime(saveModel.StartDate);
                DateTime _startDate       = new DateTime(convertStartDate.Year, convertStartDate.Month, convertStartDate.Day, saveModel.Hour, saveModel.Minute, 0);
                urlSchedulerSaveModel.StartDate     = _startDate;
                urlSchedulerSaveModel.RepeatForever = Convert.ToInt32(saveModel.RepeatForever);
                if (!saveModel.RepeatForever)
                {
                    urlSchedulerSaveModel.EndDate = Convert.ToDateTime(saveModel.EndDate);
                }
                urlSchedulerSaveModel.EndDate = null;
                if (saveModel.UrlId == 0)
                {
                    urlSaveModel.CreateDate = DateTime.Now;
                    _urlService.Save(urlSaveModel);
                    int urlId = urlSaveModel.Id;
                    if (urlId > 0)
                    {
                        urlSchedulerSaveModel.UrlId = urlId;
                        _urlSchedulerService.Save(urlSchedulerSaveModel);
                        if (urlSchedulerSaveModel.Id > 0)
                        {
                            _customScheduler.StartJob(setJob(urlSaveModel, urlSchedulerSaveModel));
                        }
                    }
                }
                else
                {
                    urlSchedulerSaveModel.UrlId = urlSaveModel.Id;
                    _urlSchedulerService.Update(urlSchedulerSaveModel);
                    _urlService.Update(urlSaveModel);
                    _customScheduler.UpdateJob(setJob(urlSaveModel, urlSchedulerSaveModel));
                }
            }



            return(RedirectToAction("Index"));
        }
        private JobModel setJob(Url urlSaveModel, UrlScheduler urlSchedulerSaveModel)
        {
            JobModel jobModel = new JobModel();

            jobModel.Key           = urlSaveModel.Id.ToString();
            jobModel.MailAddress   = "*****@*****.**";
            jobModel.Minutes       = urlSchedulerSaveModel.WithInternalInMinutes;
            jobModel.RepeatForever = Convert.ToBoolean(urlSchedulerSaveModel.RepeatForever);
            jobModel.StartDate     = urlSchedulerSaveModel.StartDate;
            jobModel.EndDate       = urlSchedulerSaveModel.EndDate;
            jobModel.Url           = urlSaveModel.Address;
            return(jobModel);
        }
Exemple #3
0
 public IResult Update(UrlScheduler urlScheduler)
 {
     _urlSchedulerDal.Update(urlScheduler);
     return(new SuccessResult());
 }
Exemple #4
0
 public IResult Save(UrlScheduler urlScheduler)
 {
     _urlSchedulerDal.Add(urlScheduler);
     return(new SuccessResult());
 }
Exemple #5
0
 public IResult Delete(UrlScheduler urlScheduler)
 {
     _urlSchedulerDal.Delete(urlScheduler);
     return(new SuccessResult());
 }