// Assign ticket to an employee public bool AssignTicketToEmployee(TicketSave ticket) { try { var entity = db.Tickets.Find(ticket.Id); if (entity == null) { return(false); } else { entity.EmployeeId = ticket.EmployeeId; entity.Status = TicketStatus.Inprogress; db.SaveChanges(); // Send email to employee after assining EmailManager emailManager = new EmailManager(); emailManager.NewTicketEmail(ticket, "Employee"); return(true); } } catch (Exception ex) { GlobalVariable.log.Write(LogLevel.Error, ex); return(false); } }
// Add new ticket public int AddTicket(TicketSave ticket) { var tick = new Ticket() { Status = TicketStatus.Opened, Category = ticket.Category, Priority = ticket.Priority, Title = ticket.Title, Description = ticket.Description, OpenDate = DateTime.Now, ClientId = ticket.ClientId, }; try { db.Tickets.Add(tick); db.SaveChanges(); if (ticket.Attachments != null) { foreach (string path in ticket.Attachments) { db.FileStorages.Add(new FileStorage() { Path = path, Reference = tick.Id, Type = AttachmentType.Ticket, CreateDate = DateTime.Now }); db.SaveChanges(); } } // Update model info ticket.Id = tick.Id; //Send email to manager after submitting new ticket to the system EmailManager emailManager = new EmailManager(); emailManager.NewTicketEmail(ticket, "Manager"); return(tick.Id); } catch (Exception ex) { GlobalVariable.log.Write(LogLevel.Error, ex); return(0); } }