示例#1
0
 public ActionResult Create(TaskViewModel taskViewModel)
 {
     if (ModelState.IsValid)
     {
         //find user by name
         User user = repository.FindUser(HttpContext.User.Identity.Name);
         //add task to user
         repository.AddTask(user.ID, Mapper.Map <Task>(taskViewModel));
         //if status New or Execution then create scheduler task to send email
         if (taskViewModel.Status == Task.TaskStatus.New ||
             taskViewModel.Status == Task.TaskStatus.Executing)
         {
             Scheduler.AddExpiredTaskJob(new System.Net.Mail.MailAddress(user.Email),
                                         taskViewModel.TaskID.ToString(),
                                         taskViewModel.Name,
                                         taskViewModel.DTExec);
         }
         //TempData["message"] = string.Format("{0} has been created", taskViewModel.Name);
         return(Redirect(Url.Action("List", "Tasks")));
     }
     else
     {
         TempData["message"] = "Data is invalid";
         LogFactory.GetLogService().Error("Model state is invalid");
         return(View(new TaskViewModel(repository.GetAllUsers())));
     }
 }
示例#2
0
 public void Edit(TaskViewModel taskViewModel)
 {
     if (ModelState.IsValid)
     {
         //find auth user by name
         User user = repository.FindUser(HttpContext.User.Identity.Name);
         //change task
         if (repository.EditTask(Mapper.Map <Task>(taskViewModel)))
         {
             //if good recreate scheduler task
             if (taskViewModel.Status == Task.TaskStatus.New ||
                 taskViewModel.Status == Task.TaskStatus.Executing)
             {
                 Scheduler.AddExpiredTaskJob(new System.Net.Mail.MailAddress(user.Email),
                                             taskViewModel.TaskID.ToString(),
                                             taskViewModel.Name,
                                             taskViewModel.DTExec);
             }
             //TempData["message"] = string.Format("{0} has been edited", taskViewModel.Name);
         }
         else
         {
             LogFactory.GetLogService().Error(string.Format("There is no Task with such ID: {0}", taskViewModel.TaskID));
         }
     }
     else
     {
         LogFactory.GetLogService().Error("Model state is invalid");
     }
 }
示例#3
0
        public ActionResult Edit(EditUserViewModel editUserViewModel, HttpPostedFileBase photoImage)
        {
            if (ModelState.IsValid)
            {
                User user = Mapper.Map <User>(editUserViewModel);
                if (photoImage != null)
                {
                    user.Photo = StreamHelper.ReadToEnd(photoImage.InputStream);
                }

                //change task
                if (repository.EditUser(user))
                {
                    //if good recreate scheduler task
                    foreach (Task task in user.CreateTasks)
                    {
                        if (task.Status == Task.TaskStatus.New ||
                            task.Status == Task.TaskStatus.Executing)
                        {
                            Scheduler.AddExpiredTaskJob(new System.Net.Mail.MailAddress(user.Email),
                                                        task.TaskID.ToString(),
                                                        task.Name,
                                                        task.DTExec);
                        }
                    }
                }
                else
                {
                    LogFactory.GetLogService().Error(string.Format("There is no User with such Name: {0}", editUserViewModel.Name));
                }
            }
            else
            {
                LogFactory.GetLogService().Error("Model state is invalid");
            }

            return(Redirect(Url.Action("Edit", "Account")));
        }
示例#4
0
        void Application_Start(object sender, EventArgs e)
        {
            // Code that runs on application startup
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
            //init automapper
            AutoMapperController MapController = new AutoMapperController();

            //start scheluder
            Scheduler.Start();
            //create tasks jobs

            using (EFRepository efRepository = new EFRepository())
            {
                foreach (User user in efRepository.GetAllUsers())
                {
                    foreach (Task task in user.CreateTasks)
                    {
                        Scheduler.AddExpiredTaskJob(new System.Net.Mail.MailAddress(user.Email),
                                                    task.TaskID.ToString(),
                                                    task.Name,
                                                    task.DTExec);
                    }
                }
            }
            //init log4net
            LogFactory.InitializeLogServiceFactory(log4net.LogManager.GetLogger("ToDo"));

            //Task task2 = new Task();
            //task2.DTCreate = DateTime.Now;
            //task2.DTExec = DateTime.Now;
            //DBFabric.Repository.AddTask(DBFabric.Repository.GetAllUsers().First(), task2);
        }