public ITicket CreateTicket(ICreateTicket ticket) { ITicket result = (ITicket)serviceProvider.GetService(typeof(ITicket)); ITicketStatus ticketStatus = (ITicketStatus)serviceProvider.GetService(typeof(ITicketStatus)); //////////////////////////////////////////////////////////////// // Add Persistence here either using ADO.net or Entity Framework. // TODO: DATABASE //////////////////////////////////////////////////////////////// /// // Presume data persisted succesfully, create return model. // Refactor this. ticketStatus.Status_Code = 1; ticketStatus.Status_Description = "CREATED"; ticketStatus.Status_Name = "CREATED"; ticketStatus.TicketStatusId = 2; // Persist to storage / TODO: result.Created = ticket.Created; result.Detail = ticket.Detail; result.Requestor = ticket.Requestor; result.Status = ticketStatus; result.Subject = ticket.Subject; result.TicketId = 1; return(result); }
public async Task <ITicketStatus> Update(ITicketStatus entity) { TTicketStatus tEntity = entity as TTicketStatus; var errors = await this.ValidateEntityToCheckExistsAtUpdate(tEntity); if (errors.Count() > 0) { await this.ThrowEntityException(errors); } try { this.StartTransaction(); await base.Update(tEntity, x => new { x.Name, x.Description, x.Enabled, x.ModifiedBy, x.ModifiedDate }); this.CommitTransaction(); return(tEntity); } catch (PostgresException ex) { throw new EntityUpdateException(ex); } catch { throw; } }
public async Task <ITicketStatus> AddNew(ITicketStatus entity) { TTicketStatus tEntity = entity as TTicketStatus; var errors = await this.ValidateEntityToCheckExists(tEntity); if (errors.Count() > 0) { await this.ThrowEntityException(errors); } try { this.StartTransaction(); var savedEntity = await base.AddNew(entity as TTicketStatus); this.CommitTransaction(); return(savedEntity); } catch (PostgresException ex) { throw new EntityUpdateException(ex); } catch { throw; } }
static TicketHelpers() { TicketStatus = new TicketStatusService(); TicketCategory = new TicketCategoryService(); TicketPriority = new TicketPriorityService(); TicketType = new TicketTypeService(); UserRepository = new UserService(); }
public TicketsController(IGenericRepository <Department> departmentsRepository, ITicketsRepository <Ticket> ticketsRepository, ITicketsMailer ticketsMailer, ITicketStatus <TicketStatus> ticketsStatusRepository, AuthHelper authHelper) { this.departmentsRepository = departmentsRepository; this.ticketsRepository = ticketsRepository; this.ticketsMailer = ticketsMailer; this.ticketsStatusRepository = ticketsStatusRepository; this.staffManager = authHelper.GetStaffManagerFromOwinContext; }
public TicketController() { _categoryService = new CategoryService(); _ticketService = new TicketService(); _userService = new UserService(); _ticketCategoryService = new TicketCategoryService(); _ticketPriority = new TicketPriorityService(); _ticketStatus = new TicketStatusService(); _ticketType = new TicketTypeService(); _emailService = new Core.Implementation.EmailService(); _ticketProject = new TicketProjectService(); }
public ICreateTicketResponseModel Build(IServiceProvider serviceProvider, ITicketStatus ticketStatus, int ticketId = -1, Exception e = null) { ICreateTicketResponseModel response; try { response = CreateTicketResponse(serviceProvider, ticketStatus, ticketId, e); } catch (Exception x) { return(CreateTicketResponse(serviceProvider, ticketStatus, ticketId, e)); } return(response); }
public async Task <ITicketStatus> AddNew(ITicketStatus entity) { try { this.StartTransaction(); var savedEntity = await base.AddNew(entity as TTicketStatus); this.CommitTransaction(); return(savedEntity); } catch (PostgresException ex) { throw new EntityUpdateException(ex); } catch { throw; } }
private ICreateTicketResponseModel CreateTicketResponse(IServiceProvider serviceProvider, ITicketStatus ticketStatus, int ticketId = -1, Exception e = null) { ICreateTicketResponseModel response; if (ticketStatus == null) { ticketStatus = (ITicketStatus)serviceProvider.GetService(typeof(ITicketStatus)); if (e != null) { ticketStatus.Status_Description = e.Message; } else { ticketStatus.Status_Description = "An general error has occurred, please see application logs."; } ticketStatus.Status_Code = -1; ticketStatus.Status_Name = "ERROR"; ticketStatus.TicketStatusId = -1; } response = (ICreateTicketResponseModel)serviceProvider.GetService(typeof(ICreateTicketResponseModel)); response.Status = ticketStatus; response.TicketId = (int)ticketId; return(response); }
public ICreateTicketResponseModel Create(ICreateTicketRequestModel request) { ICreateTicketResponseModel ticketResponseTransform; try { ICreateTicket transformModel = (ICreateTicket)serviceProvider.GetService(typeof(ICreateTicket)); ITicketStatus ticketStatus = (ITicketStatus)serviceProvider.GetService(typeof(ITicketStatus)); // Simulate a failure / Shouldnt get to this point anyways as the Model would be invalid // due to the property requiring a value. Will prevent whitespace though. if (string.IsNullOrWhiteSpace(request.Detail) || string.IsNullOrWhiteSpace(request.Subject)) { // Persist to storage / TODO: // Do this as a specific type of exception. (custom) // TODO: Debug Logging ticketResponseTransform = (ICreateTicketResponseModel)serviceProvider.GetService(typeof(ICreateTicketResponseModel)); // TODO: Debug Logging ticketStatus.Status_Code = 0; ticketStatus.Status_Description = "Unable to create ticket due to incomplete model"; ticketStatus.Status_Name = "ERROR"; ticketStatus.TicketStatusId = 1; ticketResponseTransform.Status = ticketStatus; return(ticketResponseTransform); } // Transform the ICreateTicketRequestModel into an ICreateTicket // Add some additional value. to the model // Could use AutoMapper or another tool, but will do it manually for now. // Would refactor this later on into its own method. // TODO: Debug Logging ticketStatus.Status_Code = 0; ticketStatus.Status_Description = "CREATE"; ticketStatus.Status_Name = "CREATE"; ticketStatus.TicketStatusId = 1; transformModel.Subject = request.Subject; transformModel.Status = ticketStatus; transformModel.Requestor = request.Requestor; transformModel.Detail = request.Detail; transformModel.Created = DateTime.UtcNow; var createComplete = ticketRepository.CreateTicket(transformModel); // TODO: Debug Logging // Create the response model (subset of properties, based on the ITicket) ticketResponseTransform = (ICreateTicketResponseModel)serviceProvider.GetService(typeof(ICreateTicketResponseModel)); ticketResponseTransform.TicketId = createComplete.TicketId; ticketResponseTransform.Status = createComplete.Status; } catch (Exception ex) { // TODO: exception Logging throw ex; } return(ticketResponseTransform); }