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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
>=v
Client client2 = new Client() { Name = "ОАО Интерстайл",
Description = "Интернет-магазин одежды" };
context.Clients.Add(client1);
context.Clients.Add(client2);
// Контакты
Contact contact1_1 = new Contact()
{
Name = "Иванова И.И.",
Email = "ivanova@example.ru",
Phone = "234-234-23-23",
Client = client1
};
Contact contact1_2 = new Contact()
{
Name = "Петров В.И.",
Email = "petrov@example.ru",
Phone = "234-234-23-25",
Client = client1
};
Contact contact2_1 = new Contact()
{
Name = "Соколова А.Е.",
Email = "sokolova@maildomain.ru",
Phone = "444-444-44-44",
Client = client2
};
context.Contacts.Add(contact1_1);
context.Contacts.Add(contact1_2);
context.Contacts.Add(contact2_1);
// Проекты
Project project1 = new Project()
{
Name = "voshod-service.ru",
Date = new DateTime(2019, 12, 13),
Description = "Разработка корпоративного сайта",
Client = client1,
ProjectType = pTypeSite,
User = userManager,
Closed = false
};
Project project2 = new Project()
{
Name = "interstile.ru",
Date = new DateTime(2019, 12, 15),
Description = "Разработка баннера",
Client = client2,
ProjectType = pTypeDesign,
User = userManager,
Closed = true
};
context.Projects.Add(project1);
context.Projects.Add(project2);
// Задачи
Task task1_1 = new Task()
{
Description = "",
Project = project1,
TaskType = tTypePrototype,
User = userDesigner,
Date = new DateTime(2019, 12, 27)
};
Task task1_2 = new Task()
{
Description = "",
>=Z
Project = project1,
TaskType = tTypeDesign,
User = userDesigner,
Date = new DateTime(2020, 1, 15)
};
Task task1_3 = new Task()
{
Description = "",
Project = project1,
TaskType = tTypeVerstka,
User = userProgrammer,
Date = new DateTime(2019, 1, 30)
};
Task task1_4 = new Task()
{
Description = "",
Project = project1,
TaskType = tTypeProgr,
User = userProgrammer,
Date = new DateTime(2019, 2, 28)
};
Task task2_1 = new Task()
{
Description = "",
Project = project2,
TaskType = tTypeDesign,
User = userDesigner,
Date = new DateTime(2019, 12, 29)
};
context.Tasks.Add(task1_1);
context.Tasks.Add(task1_2);
context.Tasks.Add(task1_3);
context.Tasks.Add(task1_4);
context.Tasks.Add(task2_1);
// Статусы задач
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 13),
Task = task1_1,
Status = statusWait,
User = userManager,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 14),
Task = task1_1,
Status = statusWork,
User = userDesigner,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 22),
Task = task1_1,
Status = statusComplete,
User = userDesigner,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 28),
Task = task1_2,
Status = statusWork,
>=q
User = userDesigner,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 13),
Task = task1_3,
Status = statusWait,
User = userManager,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 13),
Task = task1_4,
Status = statusWait,
User = userManager,
Description = ""
});
context.TaskStatuses.Add(new TaskStatus()
{
Date = new DateTime(2019, 12, 15),
Task = task2_1,
Status = statusWait,
User = userManager,
Description = ""
});
// Сохранение данных
context.SaveChanges();
base.Seed(context);
}
}
}
")'()'†_3.•_-b5_kk.54^`
using System;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web.Mvc;
using System.Web.Security;
using WebDevelopment.Models;
namespace WebDevelopment.Controllers
{
public class HomeController : Controller
{
private _Context db = new _Context();
// Домашняя страница
public ActionResult Index()
{
return View();
}
// Форма авторизации
public ActionResult Login()
{
// Если пользователь авторизован - редирект на главную
if (HttpContext.User.Identity.IsAuthenticated)
{
return RedirectToAction("Index");
}
>=s
return View();
}
// Обработка формы авторизации
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginData item)
{
// Если пользователь авторизован - редирект на рабочий стол
if (HttpContext.User.Identity.IsAuthenticated)
{
return RedirectToAction("Index");
}
// Проверка валидации модели
if (ModelState.IsValid)
{
// Проверка результата авторизации
string passwordMD5 =
Helpers.Authorization.GetMD5(item.Password);
User user = db.Users.FirstOrDefault(p => p.Email ==
item.Email && p.Password == passwordMD5);
if (user == null)
{
// Если авторизация не пройдена
ModelState.AddModelError("", "Не удалось
авторизоваться!");
}
else
{
// Если авторизация успешна
// Запись билета авторизации
Helpers.Authorization.SetTicket(Response,
user.Id.ToString(), user.Role.Code);
// Переадресация
return RedirectToAction("Index");
}
}
return View(item);
}
// Форма изменения пароля
[Authorize]
public ActionResult Password()
{
int authUserId = Convert.ToInt32(User.Identity.Name);
// Поиск записи пользователя по Id
User user = db.Users.FirstOrDefault(p => p.Id == authUserId);
if (user == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
return View();
}
// Обработка формы изменения пароля
[Authorize]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Password(PasswordData item)
{
if (ModelState.IsValid)
{
int authUserId = Convert.ToInt32(User.Identity.Name);
// Поиск записи пользователя по Id
>>=
User user = db.Users.FirstOrDefault(p => p.Id ==
authUserId);
if (user == null)
{
return new
HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
else
{
user.Password =
Helpers.Authorization.GetMD5(item.Password);
try
{
db.Entry(user).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
catch
{
ModelState.AddModelError("", "Не удалось изменить
пароль...");
}
}
}
return View(item);
}
// Обработка выхода пользователя
[Authorize]
public ActionResult Logout()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index");
}
}
}
")+(+:+';\…Š2`/`•_-b5_kk.54^`
using PagedList;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using WebDevelopment.Models;
namespace WebDevelopment.Controllers
{
[Authorize]
public class MyTasksController : Controller
{
private _Context db = new _Context();
// Формирует список по фильтру
private List<Task> GetList(TasksFilter filter)
{
int userId = Convert.ToInt32(User.Identity.Name);
List<Task> list = db.Tasks.Where(p => p.UserId ==
userId).ToList();
if (filter.UseProjectType)
{
>>>
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");
}
}
}

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)