Дипломная работа: Автоматизация планирования и учета выполнения работ для вебстудии "NEKIDAEM.RU"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
>>>
list = list.Where(p => p.Project.ProjectTypeId ==
filter.ProjectTypeId).ToList();
}
if (filter.UsePeriod)
{
DateTime dateAt = filter.DateAt.Date;
DateTime dateTo = filter.DateTo.Date;
dateAt = new DateTime(dateAt.Year, dateAt.Month,
dateAt.Day, 0, 0, 0);
dateTo = new DateTime(dateTo.Year, dateTo.Month,
dateTo.Day, 23, 59, 59);
if (dateTo <= dateAt)
{
dateTo = new DateTime(dateAt.Year, dateAt.Month,
dateAt.Day, 23, 59, 59);
}
list = list.Where(p => p.Date >= dateAt && p.Date <=
dateTo).ToList();
}
list = list.OrderBy(p => p.Date).ToList();
return list;
}
// Список с фильтром
public ActionResult Index(int? id)
{
TasksFilter filter = Session["TasksFilter"] as TasksFilter;
if (filter == null)
{
DateTime dateTo = DateTime.Now.Date;
DateTime dateAt = new DateTime(dateTo.Year, 1, 1);
filter = new TasksFilter()
{
UsePeriod = true,
DateAt = dateAt,
DateTo = dateTo,
UseProjectType = false,
ProjectTypeId = db.ProjectTypes.First().Id
};
}
List<Task> items = GetList(filter);
int pageSize = 10;
int pageNumber = (id ?? 1);
IPagedList<Task> pagedList = items.ToPagedList(1, pageSize);
try
{
pagedList = items.ToPagedList(pageNumber, pageSize);
}
catch { }
TasksList list = new TasksList()
{
Filter = filter,
Items = pagedList
};
ViewBag.ProjectTypeId = new SelectList(db.ProjectTypes, "Id",
"Name", filter.ProjectTypeId);
return View(list);
}
// Обработка формы фильтра
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(TasksFilter filter)
{
>><
Session["TasksFilter"] = filter;
return RedirectToAction("Index");
}
// Форма изменения статуса
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Task task = db.Tasks.Find(id);
if (task == null)
{
return HttpNotFound();
}
int userId = Convert.ToInt32(User.Identity.Name);
if (task.UserId != userId)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
ViewBag.Task = task;
TaskStatus taskStatus = new TaskStatus()
{
Date = DateTime.Now,
TaskId = task.Id,
UserId = userId,
StatusId = db.Statuses.First().Id
};
ViewBag.StatusId = new SelectList(db.Statuses, "Id", "Name",
taskStatus.StatusId);
return View(taskStatus);
}
// Обработка формы изменения статуса
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Details([Bind(Include =
"Id,Description,StatusId,TaskId,UserId,Date")] TaskStatus taskStatus)
{
if (ModelState.IsValid)
{
taskStatus.Date = DateTime.Now;
db.TaskStatuses.Add(taskStatus);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.StatusId = new SelectList(db.Statuses, "Id", "Name",
taskStatus.StatusId);
return View(taskStatus);
}
}
}
")LW.i_5b`•_-b5_kk.54^`
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebDevelopment.Models;
>>@
namespace WebDevelopment.Controllers
{
[Authorize(Roles = "admin, manager")]
public class ReportsController : Controller
{
private _Context db = new _Context();
// Отчет по занятости исполнителей
public ActionResult ReportStaff()
{
ReportStaffFilter filter = Session["ReportStaffFilter"] as
ReportStaffFilter;
DateTime dateTo = DateTime.Now.Date;
DateTime dateAt = new DateTime(dateTo.Year, 1, 1);
if (filter == null)
{
filter = new ReportStaffFilter()
{
DateAt = dateAt,
DateTo = dateTo,
UserId = db.Users.First(p => p.RoleId == 3).Id
};
}
List<Task> items = db.Tasks.OrderBy(p => p.Date).Where(p =>
p.UserId == filter.UserId).ToList();
dateAt = filter.DateAt.Date;
dateTo = filter.DateTo.Date;
dateAt = new DateTime(dateAt.Year, dateAt.Month, dateAt.Day, 0,
0, 0);
dateTo = new DateTime(dateTo.Year, dateTo.Month, dateTo.Day,
23, 59, 59);
if (dateTo <= dateAt)
{
dateTo = new DateTime(dateAt.Year, dateAt.Month,
dateAt.Day, 23, 59, 59);
}
items = items.Where(p => p.Date >= dateAt && p.Date <=
dateTo).ToList();
ReportStaff report = new ReportStaff()
{
Filter = filter,
Items = items
};
ViewBag.UserId = new SelectList(db.Users, "Id", "Name",
filter.UserId);
return View(report);
}
// Обработка формы фильтра отчета по занятости исполнителей
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ReportStaff(ReportStaffFilter filter)
{
Session["ReportStaffFilter"] = filter;
return RedirectToAction("ReportStaff");
}
// Данные по реализации задач
public ActionResult ReportTasks()
{
ReportTasksFilter filter = Session["ReportTasksFilter"] as
ReportTasksFilter;
if (filter == null)
{
>>K
filter = new ReportTasksFilter()
{
UseProject = false,
ProjectId = db.Projects.First().Id,
UseUser = false,
UserId = db.Users.First(p => p.RoleId == 3).Id
};
}
List<Task> items = db.Tasks.OrderBy(p => p.Date).ToList();
if (filter.UseProject)
{
items = items.Where(p => p.ProjectId ==
filter.ProjectId).ToList();
}
if (filter.UseUser)
{
items = items.Where(p => p.UserId ==
filter.UserId).ToList();
}
ReportTasks report = new ReportTasks()
{
Filter = filter,
Items = items
};
ViewBag.ProjectId = new SelectList(db.Projects, "Id", "Name",
filter.ProjectId);
ViewBag.UserId = new SelectList(db.Users, "Id", "Name",
filter.UserId);
return View(report);
}
// Обработка формы фильтра данных по реализации задач
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ReportTasks(ReportTasksFilter filter)
{
Session["ReportTasksFilter"] = filter;
return RedirectToAction("ReportTasks");
}
}
}
Источник: https://baza.diplomsite.ru/previewfile/1911