Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public void DeleteItem(int?id)
        {
            WorkOnTask work = db.WorkOnTasks.Find(id);

            if (work != null)
            {
                db.WorkOnTasks.Remove(work);
            }
        }
Ejemplo n.º 3
0
        public ActionResult AddWork(int?id)
        {
            if (id == null)
            {
                return(null);
            }
            WorkOnTask work = new WorkOnTask {
                TaskId = id
            };

            return(PartialView("_AddWork", work));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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());
        }
Ejemplo n.º 6
0
 public void UpdateItem(WorkOnTask item)
 {
     db.Entry(item).State = EntityState.Modified;
 }
Ejemplo n.º 7
0
 public void AddNewItem(WorkOnTask item)
 {
     db.WorkOnTasks.Add(item);
 }