예제 #1
0
        public ActionResult Edit([Bind(Include = "TaskId, TaskName, TaskDescription")] TaskViewModel taskVM, IEnumerable <HttpPostedFileBase> files)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    TaskLookup task = new TaskLookup();
                    task.TaskId          = taskVM.TaskId;
                    task.TaskName        = taskVM.TaskName;
                    task.TaskDescription = taskVM.TaskDescription;
                    task.ModifiedBy      = User.Identity.Name;

                    task.Attachments = new List <FileObject>();
                    AddFilesToTask(files, task);

                    TaskManager.UpdateTask(task);
                }

                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(View("Error"));
            }
        }
예제 #2
0
        public static void AddTask(TaskLookup task)
        {
            TaskSet taskSet = new TaskSet();

            taskSet.TaskName        = task.TaskName;
            taskSet.TaskDescription = task.TaskDescription;
            taskSet.CreatedBy       = task.CreatedBy;
            taskSet.ModifiedBy      = task.ModifiedBy;
            taskSet.DateCreated     = DateTime.Now;
            // Set Status Id of 1 for Pending
            taskSet.StatusId = 1;

            taskSet.Files = new List <File_Task>();
            foreach (var file in task.Attachments)
            {
                File_Task fileEntity = new File_Task();
                fileEntity.FileGuid      = file.FileGuid;
                fileEntity.FileName      = file.FileName;
                fileEntity.ContentType   = file.ContentType;
                fileEntity.FileExtension = file.FileExtension;
                fileEntity.FilePath      = file.FilePath;
                taskSet.Files.Add(fileEntity);
            }

            ContextManager.AddTask(taskSet);
        }
예제 #3
0
        public static List <TaskLookup> GetTasksByStatusId(int statusId)
        {
            var tasks = ContextManager.GetTasksByStatusId(statusId);

            List <TaskLookup> taskLookupList = new List <TaskLookup>();

            foreach (var task in tasks)
            {
                TaskLookup taskLookup = new TaskLookup();
                taskLookup.TaskId          = task.TaskId;
                taskLookup.TaskName        = task.TaskName;
                taskLookup.TaskDescription = task.TaskDescription;
                taskLookup.Score           = task.Score;
                taskLookup.Status          = new StatusLookup {
                    StatusId = task.StatusId, StatusName = task.Status.StatusName
                };
                taskLookup.DateCreated = task.DateCreated;

                taskLookupList.Add(taskLookup);
            }

            taskLookupList = taskLookupList.OrderByDescending(s => s.Score).ToList();

            return(taskLookupList);
        }
예제 #4
0
        public static TaskLookup GetTaskById(int id)
        {
            var task = ContextManager.GetTaskById(id);

            TaskLookup taskLookup = new TaskLookup();

            taskLookup.TaskId          = task.TaskId;
            taskLookup.TaskName        = task.TaskName;
            taskLookup.TaskDescription = task.TaskDescription;
            taskLookup.Score           = task.Score;
            taskLookup.DateCreated     = task.DateCreated;
            taskLookup.CreatedBy       = task.CreatedBy;
            taskLookup.ModifiedBy      = task.ModifiedBy;

            taskLookup.Status = new StatusLookup {
                StatusId = task.StatusId, StatusName = task.Status.StatusName
            };

            taskLookup.Attachments = new List <FileObject>();
            foreach (var file in task.Files)
            {
                FileObject fileObject = new FileObject();
                fileObject.FileGuid      = file.FileGuid;
                fileObject.FileName      = file.FileName;
                fileObject.ContentType   = file.ContentType;
                fileObject.FileExtension = file.FileExtension;
                fileObject.FilePath      = file.FilePath;
                taskLookup.Attachments.Add(fileObject);
            }

            return(taskLookup);
        }
예제 #5
0
        private void AddFilesToTask(IEnumerable <HttpPostedFileBase> files, TaskLookup task)
        {
            foreach (var file in files)
            {
                if (file != null && file.ContentLength > 0)
                {
                    Guid fileGuid      = Guid.NewGuid();
                    var  fileName      = Path.GetFileName(file.FileName);
                    var  fileExtension = Path.GetExtension(file.FileName);
                    var  contentType   = file.ContentType;

                    var fileNameFormat = string.Format("{0}_{1}_{2}", fileGuid, task.TaskName, fileName);
                    var path           = Path.Combine(Server.MapPath("~/Content/Documents/"), fileNameFormat);
                    file.SaveAs(path);

                    FileObject fileObj = CreateFileObject(fileGuid, fileName, contentType, fileExtension, "~/Content/Documents/" + fileNameFormat);
                    task.Attachments.Add(fileObj);
                }
            }
        }
예제 #6
0
        public static void UpdateTask(TaskLookup task)
        {
            TaskSet taskSet = new TaskSet();

            taskSet.TaskId          = task.TaskId;
            taskSet.TaskName        = task.TaskName;
            taskSet.TaskDescription = task.TaskDescription;
            taskSet.ModifiedBy      = task.ModifiedBy;

            taskSet.Files = new List <File_Task>();
            foreach (var file in task.Attachments)
            {
                File_Task fileEntity = new File_Task();
                fileEntity.FileGuid      = file.FileGuid;
                fileEntity.FileName      = file.FileName;
                fileEntity.ContentType   = file.ContentType;
                fileEntity.FileExtension = file.FileExtension;
                fileEntity.FilePath      = file.FilePath;
                taskSet.Files.Add(fileEntity);
            }
            ContextManager.UpdateTask(taskSet);
        }