public string AddFile(HttpPostedFileBase uploadFile, string serverPath, WorkOnTask work) { if (uploadFile != null) { string fileName = Path.GetFileName(uploadFile.FileName); DirectoryInfo directoryInfo = new DirectoryInfo(serverPath); if (!directoryInfo.Exists) { Directory.CreateDirectory(serverPath); directoryInfo = new DirectoryInfo(serverPath); } foreach (var file in directoryInfo.GetFiles()) { if (file.Name == fileName) { return("Файл с таким именем уже существует"); } } uploadFile.SaveAs(serverPath + "/" + fileName); } else { return("Операция не выполнена"); } return(null); }
public void DeleteItem(int?id) { WorkOnTask work = db.WorkOnTasks.Find(id); if (work != null) { db.WorkOnTasks.Remove(work); } }
public ActionResult AddWork(int?id) { if (id == null) { return(null); } WorkOnTask work = new WorkOnTask { TaskId = id }; return(PartialView("_AddWork", work)); }
public ActionResult AddWork(HttpPostedFileBase uploadFile, WorkOnTask workOnTask) { if (ModelState.IsValid) { if (uploadFile == null) { ModelState.AddModelError("", "Выберите файл"); return(PartialView("_AddWork", workOnTask)); } workOnTask.UserId = int.Parse(User.Identity.Name); string path = Server.MapPath("~/Content/Assets/Tasks/" + workOnTask.TaskId); string result = fileManager.AddFile(uploadFile, path, workOnTask); var task = unitOfWork.Tasks.GetTaskByIdWithJoin(workOnTask.TaskId, false, false, true, true); unitOfWork.Dispose(); unitOfWork = new UnitOfWork(); if (result == null) { if (task == null) { ModelState.AddModelError("", "Задача не найдена"); return(PartialView("_AddWork", workOnTask)); } workOnTask.File = workOnTask.TaskId + "/" + Path.GetFileName(uploadFile.FileName); unitOfWork.WorkOnTask.AddNewItem(workOnTask); task.Status = "В проверке"; unitOfWork.Tasks.UpdateItem(task); unitOfWork.Save(); MailTools mail = new MailTools(); mail.SendMailToUser(task.Users.Email, "Исполнитель загрузил решение", $"<p>Исполнитель загрузил решение. Проверьте, верное ли оно.</p>"); } else { ModelState.AddModelError("", result); return(PartialView("_AddWork", workOnTask)); } return(RedirectToLocal($"~/Tasks/TaskDetails/{workOnTask.TaskId}")); } return(PartialView("_AddWork", workOnTask)); }
public ActionResult NotAcceptWork(WorkOnTask workOnTask) { if (ModelState.IsValid) { workOnTask.UserId = int.Parse(User.Identity.Name); var task = unitOfWork.Tasks.GetTaskByIdWithJoin(workOnTask.TaskId, false, true); unitOfWork.Dispose(); unitOfWork = new UnitOfWork(); if (task == null) { return(HttpNotFound()); } task.Status = "В работе"; unitOfWork.WorkOnTask.AddNewItem(workOnTask); unitOfWork.Tasks.UpdateItem(task); unitOfWork.Save(); Users executer = null; for (int i = 0; i < task.Requests.Count(); i++) { task.Requests.ToList()[i].User = unitOfWork.TaskRequests.GetRequestByIdWithJoin(i + 1, true, false).User; if (task.Requests.ToList()[i].Status == "Выбран") { executer = task.Requests.ToList()[i].User; } } if (executer != null) { MailTools mail = new MailTools(); mail.SendMailToUser(executer.Email, "Задача в доработке", $"<p>Заказчик отправил задачу в доработку</p>"); } return(RedirectToAction("TaskDetails", new { id = workOnTask.TaskId })); } return(HttpNotFound()); }
public void UpdateItem(WorkOnTask item) { db.Entry(item).State = EntityState.Modified; }
public void AddNewItem(WorkOnTask item) { db.WorkOnTasks.Add(item); }