示例#1
0
 public static void SetPropsFromDto(TargetApp app, UpdateTargetAppDto updateDto)
 {
     app.Name          = updateDto.Name;
     app.Url           = updateDto.Url;
     app.IntervalType  = updateDto.IntervalType;
     app.IntervalValue = updateDto.IntervalValue;
     app.IsAlive       = null;
 }
示例#2
0
        public IActionResult Update(UpdateTargetAppDto app)
        {
            if (!ModelState.IsValid || !app.Url.IsValidUrl())
            {
                ModelState.AddModelError(string.Empty, "Invalid Url or data please check");
                return(View(app));
            }

            app.LoggedInUserId = user.Id;
            _targetAppService.Update(app);

            return(RedirectToAction("Index"));
        }
        public TargetAppDto Update(UpdateTargetAppDto updateDto)
        {
            if (!updateDto.Url.IsValidUrl())
            {
                throw new Exception("Invalid Url Please Check");
            }

            var app = _db.TargetApps.FirstOrDefault(c => c.Id == updateDto.Id && c.CreatedById == updateDto.LoggedInUserId);

            Mapper.SetPropsFromDto(app, updateDto);
            _db.SaveChanges();
            var updated = Mapper.MapToAppDto(app);

            _jobScheduler.AddOrUpdate(updated);
            return(updated);
        }
示例#4
0
 public void AddOrUpdate(UpdateTargetAppDto app, Expression <Action> methodCall)
 {
     RecurringJob.AddOrUpdate("site-healthcheck-" + app.Id, methodCall, GetCronExpression(app.IntervalType, app.IntervalValue));
 }