Beispiel #1
0
        public ActionResult EditTemplate()
        {
            int templateID = 0;

            if (Request.Form["templateID"].ToString().Length > 0)
            {
                templateID = Convert.ToInt16(Request.Form["templateID"]);
            }

            var tasks = request.TaskLists.Where(r => r.TemplateID == templateID);



            if (templateID != 0)
            {
                var template = request.Templates.FirstOrDefault(t => t.templateID == templateID);

                template.templateName = Request.Form["templateName"].ToString();

                foreach (var task in tasks)
                {
                    bool delete;
                    var  currentTask = request.TaskLists.FirstOrDefault(a => a.taskID == task.taskID);

                    if (Request.Form["Delete_" + task.taskID] != null)
                    {
                        delete = true;
                    }
                    else
                    {
                        delete = false;
                    }

                    if (delete == false)
                    {
                        try
                        {
                            currentTask.orderNum = Convert.ToInt16(Request.Form["Order_" + task.taskID]);
                        }
                        catch
                        {
                            //Response.Redirect(task.taskID.ToString());
                        }
                        currentTask.Task = Request.Form["Task_" + task.taskID].ToString();

                        currentTask.Comments = Request.Form["Comments_" + task.taskID].ToString();

                        try
                        {
                            currentTask.DueDate = Convert.ToDateTime(Request.Form["DueDate_" + task.taskID]);
                        }
                        catch { }
                        if (Request.Form["Status_" + task.taskID].ToString() != "00")
                        {
                            currentTask.Status = Request.Form["Status_" + task.taskID].ToString();
                        }

                        AssignTemplate(task, templateID, Request.Form["Assignment_" + task.taskID].ToString().Replace(" ", ""));
                    }
                    else if (delete == true)
                    {
                        var taskAsignment = request.TaskAssignments.Where(t => t.templateID == templateID && t.taskID == task.taskID);
                        foreach (var assignment in taskAsignment)
                        {
                            request.TaskAssignments.DeleteObject(assignment);
                        }

                        request.TaskLists.DeleteObject(currentTask);
                    }
                }// end task foreach

                request.SaveChanges();
            }
            else
            {
                Template newTemplate = new Template();
                newTemplate.templateID   = templateID;
                newTemplate.templateName = Request.Form["templateName"].ToString();

                request.AddToTemplates(newTemplate);
                request.SaveChanges();

                templateID = newTemplate.templateID;
            }

            if (Request.Form["Task"] != null && Request.Form["Task"].ToString().Length > 0 && templateID != 0)
            {
                TaskList newTask = new TaskList();

                newTask.TemplateID = templateID;
                try
                {
                    newTask.orderNum = Convert.ToInt16(Request.Form["Order"]);
                }
                catch { }
                newTask.Task = Request.Form["Task"].ToString();

                newTask.Comments = Request.Form["Comments"].ToString();

                try
                {
                    newTask.DueDate = Convert.ToDateTime(Request.Form["DueDate"]);
                }
                catch { }
                if (Request.Form["Status"].ToString() != "00")
                {
                    newTask.Status = Request.Form["Status"].ToString();
                }

                request.AddToTaskLists(newTask);
                request.SaveChanges();

                AssignTemplate(newTask, templateID, Request.Form["Assignment"].ToString().Replace(" ", ""));
            }

            return(RedirectToAction("DisplayTemplate", new { template = templateID }));
        }