public static void EmployeeActivity(int employeeId, bool isActive) { var employee = Employee.GetEmployee(employeeId); if (employee != null) { using (var ctx = new SolutionsContext()) { if (!isActive) { if (employee.Permissions != null) { var permissions = ctx.Permissions .Where(x => x.EmployeeId == employeeId) .ToList(); ctx.Permissions.RemoveRange(permissions); ctx.SaveChanges(); } } ctx.Employees.First(x => x.Id == employeeId).Active = isActive; ctx.SaveChanges(); } } }
private void RemovePermission(SolutionsContext ctx, int permissionId) { var permission = ctx.Permissions.First(x => x.Id == permissionId); ctx.Permissions.Remove(permission); ctx.SaveChanges(); }
private void SetSendMail(Employee employee, bool sendMail) { using (var ctx = new SolutionsContext()) { var emp = ctx.Employees.First(x => x.Id == employee.Id); emp.SendMail = sendMail; ctx.SaveChanges(); } }
public static void Update(int commentId, string answer) { using (var ctx = new SolutionsContext()) { var comment = ctx.Comments.First(x => x.Id == commentId); comment.Answer = answer; ctx.SaveChanges(); } }
public static void Hold(int ticketId, int employeeId, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.StatusId = (int)Enums.Statuses.HOLD; ctx.SaveChanges(); Mail.Send(ticket, comment); } }
public static void Close(int ticketId) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.StatusId = (int)Enums.Statuses.CLOSED; ctx.SaveChanges(); Mail.Send(ticket); } }
private void InsertPermission(SolutionsContext ctx, int employeeId, int roleId, int resourceId) { var permission = new Permission() { EmployeeId = employeeId, RoleId = roleId, ResourceId = resourceId }; ctx.Permissions.Add(permission); ctx.SaveChanges(); }
public static void Decline(int ticketId, int employeeId, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.Performed = DateTime.Now; ticket.StatusId = (int)Enums.Statuses.DECLINED; ctx.SaveChanges(); Mail.Send(ticket, comment); } }
public static void Assign(int ticketId, int employeeId, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.PerformerId = employeeId; ticket.StatusId = (int)Enums.Statuses.ON_PERFORM; ctx.SaveChanges(); Mail.Send(ticket, comment); } }
public static void Reject(int ticketId, int employeeId, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.Approved = DateTime.Now; ticket.ApproverId = employeeId; ticket.StatusId = (int)Enums.Statuses.NOT_APPROVED; ctx.SaveChanges(); Mail.Send(ticket, comment); } }
private void InsertEmployee(PermissionsViewModel permissions) { using (var ctx = new SolutionsContext()) { var employee = new Employee() { Account = AccountFormat(permissions.Account), Active = true, SendMail = permissions.SendMail }; ctx.Employees.Add(employee); ctx.SaveChanges(); if (permissions.Author) { InsertPermission(ctx, employee.Id, (int)Enums.Roles.AUTHOR, 0); } if (permissions.Tester) { InsertPermission(ctx, employee.Id, (int)Enums.Roles.TESTER, 0); } if (permissions.SelectedApproveResources != null) { InsertPermissions( ctx, employee.Id, (int)Enums.Roles.APPROVER, permissions.SelectedApproveResources); } if (permissions.SelectedPerformResources != null) { InsertPermissions( ctx, employee.Id, (int)Enums.Roles.PERFORMER, permissions.SelectedPerformResources); } if (permissions.Administrator) { InsertPermission(ctx, employee.Id, (int)Enums.Roles.ADMINISTRATOR, 0); } } }
public static void Reapprove(Ticket ticketData, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketData.Id); ticket.TechnicalTask = ticketData.TechnicalTask; ticket.Desc = ticketData.Desc; ticket.FullDesc = ticketData.FullDesc; ticket.Instructions = ticketData.Instructions; ticket.StatusId = (int)Enums.Statuses.ON_APPROVE; ctx.SaveChanges(); Mail.Send(ticket, comment); } }
public static void Save(int ticketId, int employeeId, string text, int commentType) { using (var ctx = new SolutionsContext()) { var comment = new Comment() { AuthorId = employeeId, CommentTypeId = commentType, Date = DateTime.Now, TicketId = ticketId, Text = text }; ctx.Comments.Add(comment); ctx.SaveChanges(); } }
public static void Approve(int ticketId, int approverId, string comment) { using (var ctx = new SolutionsContext()) { var ticket = ctx.Tickets.First(x => x.Id == ticketId); ticket.Approved = DateTime.Now; ticket.ApproverId = approverId; if (ticket.PriorityId == (int)Enums.Priorities.C) { ticket.StatusId = (int)Enums.Statuses.HOLD; } else { ticket.StatusId = (int)Enums.Statuses.ON_PERFORM; } ctx.SaveChanges(); Mail.Send(ticket, comment); } }
public ActionResult AddTicket(InitiateViewModel model) { if (model.PriorityId == (int)Enums.Priorities.A) { if (model.PriorityDesc == null) { ModelState.AddModelError("PriorityDesc", "Не указано обоснование класса А"); } } if (!ModelState.IsValid) { var employee = Employee.GetEmployee(User.Identity.Name); var data = MainForm(employee); data.Solutions = model.Solutions ?? null; data.TechnicalTask = model.TechnicalTask ?? null; data.Desc = model.Desc ?? null; data.FullDesc = model.FullDesc ?? null; data.Instructions = model.Instructions ?? null; data.PriorityDesc = model.PriorityDesc ?? null; if (model.PriorityId != (int)Enums.Priorities.B) { data.PriorityId = model.PriorityId; } if (model.TesterId != 1) { data.TesterId = model.TesterId; } return(View("Index", data)); } using (var ctx = new SolutionsContext()) { var ticket = new Ticket() { AuthorId = model.AuthorId, Desc = model.Desc, FullDesc = model.FullDesc, Instructions = model.Instructions, OperationId = model.OperationId, PriorityId = model.PriorityId, ResourceId = model.ResourceId, Solutions = model.Solutions, TechnicalTask = model.TechnicalTask, Created = DateTime.Now }; if (ticket.ResourceId == (int)Enums.Resources.PRODUCTION) { ticket.TesterId = model.TesterId; ticket.StatusId = (int)Enums.Statuses.ON_APPROVE; } else if (ticket.PriorityId == (int)Enums.Priorities.A) { ticket.StatusId = (int)Enums.Statuses.ON_APPROVE; } else if (ticket.PriorityId == (int)Enums.Priorities.C) { ticket.StatusId = (int)Enums.Statuses.HOLD; } else { ticket.StatusId = (int)Enums.Statuses.ON_PERFORM; } ctx.Tickets.Add(ticket); ctx.SaveChanges(); Mail.Send(ticket); return(RedirectToAction("RequestSent")); } }