public void UpdateQueueTest()
        {
            TicketQueue temp = NewQueue();

            InsertQueueIntoDatabase(temp);

            //Make sure the insertion worked smoothly.
            Assert.IsTrue(temp.Equals(SelectQueueById(temp.QueueId)), "The created queue and selected queue do not match.  Insertion or selection might have failed");

            //Change the values...
            temp.Name         = "Testing Queue2";
            temp.Description  = "New Description";
            temp.IsActive     = false;
            temp.Creator      = "blevinsn";
            temp.CreationDate = DateTime.Now;

            //Peform the update.
            HelpdeskService.UpdateQueue(temp);

            //Create a new instance of the module object and compare them...
            TicketQueue temp2 = SelectQueueById(temp.QueueId);

            //Make sure they match.
            Assert.IsTrue(temp.Equals(temp2), "The updated queue did not match equality with the prepared module values in the method.");
        }
Example #2
0
        public static string GetTicketQueueItem(RestCommand command, int ticketQueueID)
        {
            TicketQueueItem ticketQueueItem = TicketQueue.GetTicketQueueItem(command.LoginUser, ticketQueueID);

            if (ticketQueueItem.OrganizationID != command.Organization.OrganizationID)
            {
                throw new RestException(HttpStatusCode.Unauthorized);
            }
            return(ticketQueueItem.GetXml("TicketQueueItem", true));
        }
        public void CreateQueueTest()
        {
            TicketQueue temp = NewQueue();

            HelpdeskService.CreateQueue(temp);

            Trace.WriteLine(temp.QueueId);

            Assert.IsTrue(SelectQueueById(temp.QueueId) != null, "The internal selection query used to verify this test failed to return the a row.");
            Assert.IsTrue(temp.QueueId > 0, "The returned Id from the CreateQueue test did not return a value greater than 0.");
        }
        /// <summary>
        /// Creates shiny new queues that are not referenced / altered by other methods.
        /// </summary>
        /// <returns></returns>
        private TicketQueue NewQueue()
        {
            TicketQueue expected = new TicketQueue();

            expected.CreationDate = TestDate;
            expected.Creator      = "nblevins";
            expected.Description  = "This is my testing description of this Queue.";
            expected.IsActive     = true;
            expected.Name         = "Testing Queue";

            return(expected);
        }
Example #5
0
 public ShiftManagerTicker(
     ITickerManager tickerManager,
     WorkshiftsCM workshiftsCM,
     MultiLevelTicketQueue inputQueue,
     TicketQueue doneQueue,
     Accounting accounting)
 {
     this.workshiftsCM  = workshiftsCM;
     this.tickerManager = tickerManager;
     this.inputQueue    = inputQueue;
     this.doneQueue     = doneQueue;
     this.accounting    = accounting;
 }
        public void DeleteQueueTest()
        {
            TicketQueue temp = NewQueue();

            InsertQueueIntoDatabase(temp);

            //Make sure the insert and select are working.
            Assert.IsTrue(SelectQueueById(temp.QueueId) != null, "The select query failed to return any results.");

            HelpdeskService.DeleteQueue(temp.QueueId);

            Assert.IsTrue(SelectQueueById(temp.QueueId) == null, "The selection returned a row, meaning that the delete statmen failed.");
        }
Example #7
0
        public static string GetTicketQueue(RestCommand command)
        {
            TicketQueue ticketQueue = new TicketQueue(command.LoginUser);

            ticketQueue.LoadByOrganizationID(command.Organization.OrganizationID);

            if (command.Format == RestFormat.XML)
            {
                return(ticketQueue.GetXml("TicketQueue", "TicketQueueItem", true, command.Filters));
            }
            else
            {
                throw new RestException(HttpStatusCode.BadRequest, "Invalid data format");
            }
        }
        public void GetAllEnabledQueuesTest()
        {
            TicketQueueCollection CreatedSet = new TicketQueueCollection();

            //Select everything in teh database.
            TicketQueueCollection PreSelectionSet = HelpdeskService.GetAllEnabledQueues();

            //Add the new items into the database and keep of collection of them for deletion later...
            for (int x = 0; x < 10; x++)
            {
                TicketQueue temp = NewQueue();

                HelpdeskService.CreateQueue(temp);
                CreatedSet.Add(temp);
            }

            //Get teh values of everything in teh datbase now that we have done some insertions.
            TicketQueueCollection PostSelectionSet = HelpdeskService.GetAllEnabledQueues();

            //Check their counts to make sure everything went into the database correctly.
            Assert.IsTrue((PreSelectionSet.Count + 10) == PostSelectionSet.Count);
        }
        public async Task <IActionResult> Index()
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var tickets   = _ticketRepository.GetAll();
            var myTickets = new TicketQueue(tickets.Where(t => t.CustomerUserId == user.Id));

            myTickets.QueueName = "My Tickets";
            var myAssignedTickets = new TicketQueue(tickets.Where(t => t.TechnicianUserId == user.Id));

            myAssignedTickets.QueueName = "Assigned Tickets";
            var myGroupTickets = new TicketQueue(tickets.Where(t => t.SubTechnicalGroupId == user.SubTechnicalGroupId && t.TechnicianUserId == null));

            myGroupTickets.QueueName = "Group Tickets";

            var viewModel = new TicketQueueViewModel()
            {
                myTickets,
                myAssignedTickets,
                myGroupTickets
            };

            return(View(viewModel));
        }
 /// <summary>
 /// Helper method to insert values into the database.  If successful, it will set the appropriate row id.
 /// </summary>
 /// <param name="Module"></param>
 private void InsertQueueIntoDatabase(TicketQueue queue)
 {
     HelpdeskService.CreateQueue(queue);
 }
 public static void CreateQueue(TicketQueue queue)
 {
     LoadProviders(); _provider.CreateQueue(queue);
 }
        /// <summary>
        /// Creates shiny new queues that are not referenced / altered by other methods.
        /// </summary>
        /// <returns></returns>
        private TicketQueue NewQueue()
        {
            TicketQueue expected = new TicketQueue();
            expected.CreationDate = TestDate;
            expected.Creator = "nblevins";
            expected.Description = "This is my testing description of this Queue.";
            expected.IsActive = true;
            expected.Name = "Testing Queue";

            return expected;
        }
Example #13
0
        private void BtnLogin_Click(object sender, EventArgs e)
        {
            //////////////
            try
            {
                connectionstring = (@"Data Source=isys4363.walton.uark.edu;Initial Catalog=TicketingSystem;User ID=isys4363a;Password=GohogsUA20");
                var cmd1 = "SELECT * FROM Login WHERE UserID= '" + txtUsername.Text.Trim() + "' and Password = '******' and UserType = '" + User_Type_cmbox.SelectedItem.ToString() + "'"; //Data Source=essql1.walton.uark.edu;Initial Catalog=PROJECTS2050;User ID=PROJECTS2050;Password=MV05sts$
                                                                                                                                                                                                                    //SqlDataAdapter SDA = new SqlDataAdapter(Authentication, connection);
            }
            catch { MessageBox.Show("Please fill out all fields"); }                                                                                                                                                //DataTable Logintbl = new DataTable();
                                                                                                                                                                                                                    //SDA.Fill(Logintbl);
            connectionstring = (@"Data Source=isys4363.walton.uark.edu;Initial Catalog=TicketingSystem;User ID=isys4363a;Password=GohogsUA20");
            var cmd = "SELECT * FROM Login WHERE UserID= '" + txtUsername.Text.Trim() + "' and Password = '******' and UserType = '" + User_Type_cmbox.SelectedItem.ToString() + "'";

            connection = new SqlConnection(connectionstring);
            connection.Open();

            var dataadapter = new SqlDataAdapter(cmd, connection);
            var ds          = new DataSet();

            dataadapter.Fill(ds);
            connection.Close();


            DataTable dt = new DataTable();


            if ((ds.Tables.Count > 0) && (ds.Tables[0].Rows.Count > 0) && (txtUsername.Text != "") && (txtPassword.Text != "") && (User_Type_cmbox.SelectedIndex > -1))
            {
                Form Admin      = new TicketInformation();
                Form Supervisor = new TicketQueue();
                Form User       = new Submit_Ticket();
                MessageBox.Show("Login Successful");
                this.Hide();
                if (User_Type_cmbox.SelectedIndex == 0)//Admin
                {
                    Admin.Show();
                }
                else
                {
                    if (User_Type_cmbox.SelectedIndex == 1)//STAFF
                    {
                        LoginIDInfo2 = LoginIDtxt.Text;
                        User.Show();
                    }
                    else
                    {
                        if (User_Type_cmbox.SelectedIndex == 2)//STUDENT
                        {
                            LoginIDInfo2 = LoginIDtxt.Text;
                            User.Show();
                        }
                        else
                        {
                            if (User_Type_cmbox.SelectedIndex == 3)//Supervisor
                            {
                                Supervisor.Show();
                            }
                            else
                            {
                                MessageBox.Show("Please Choose Status");
                            }
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Authentication not complete.", "Invalid Login", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 /// <summary>
 /// Helper method to insert values into the database.  If successful, it will set the appropriate row id.
 /// </summary>
 /// <param name="Module"></param>
 private void InsertQueueIntoDatabase(TicketQueue queue)
 {
     HelpdeskService.CreateQueue(queue);
 }
Example #15
0
        public async Task <IActionResult> CreateTicket([FromBody] TicketCreateDto ticketCreate)
        {
            var createdById = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);

            User createdBy = await _userRepo.GetUser(createdById);

            if (createdBy == null)
            {
                ModelState.AddModelError("CreatedBy", "User does not exist");
            }

            User assignedTo = await _userRepo.GetUser(ticketCreate.AssignedToId);

            if (assignedTo == null)
            {
                ModelState.AddModelError("AssignedTo", "User does not exist");
            }

            Client client = await _clientRepo.GetClient(ticketCreate.ClientId);

            if (client == null)
            {
                ModelState.AddModelError("Client", "Client does not exist");
            }

            ConfigItem item = await _clientRepo.GetConfigItem(ticketCreate.ConfigItemId);

            if (item == null)
            {
                ModelState.AddModelError("Config Item", "Configuration Item does not exist");
            }

            TicketPriority priority = await _repo.GetTicketPriority(ticketCreate.TicketPriorityId);

            if (priority == null)
            {
                ModelState.AddModelError("Ticket Priority", "Priority does not exist");
            }

            TicketStatus status = await _repo.GetTicketStatus(ticketCreate.TicketStatusId);

            if (status == null)
            {
                ModelState.AddModelError("Ticket Status", "Ticket Status does not exist");
            }

            TicketType type = await _repo.GetTicketType(ticketCreate.TicketTypeId);

            if (type == null)
            {
                ModelState.AddModelError("Ticket Type", "Ticket Type does not exisit");
            }

            TicketQueue queue = await _repo.GetTicketQueue(ticketCreate.TicketQueueId);

            if (queue == null)
            {
                ModelState.AddModelError("Queue", "Ticket Queue does not exisit");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            var createdAt = DateTime.Now;
            var updatedAt = DateTime.Now;


            Ticket newTicket = new Ticket
            {
                Description    = ticketCreate.Description,
                Details        = ticketCreate.Details,
                CreatedAt      = createdAt,
                UpdatedAt      = updatedAt,
                AssignedTo     = assignedTo,
                CreatedBy      = createdBy,
                TicketPriority = priority,
                TicketStatus   = status,
                TicketType     = type,
                TicketQueue    = queue,
                Client         = client,
                ConfigItem     = item
            };

            _repo.Create(newTicket);

            if (await _repo.Save())
            {
                var ticketToReturn = _mapper.Map <TicketDetailDto>(newTicket);

                return(CreatedAtRoute("GetTicket", new { controller = "Tickets", id = newTicket.Id }, ticketToReturn));
            }

            return(BadRequest());
        }
Example #16
0
        public async Task <IActionResult> UpdateTicket(int id, [FromBody] TicketUpdateDto ticketUpdate)
        {
            Ticket ticket = await _repo.GetTicket(id);

            if (ticket == null)
            {
                return(NotFound());
            }

            if (!string.IsNullOrEmpty(ticketUpdate.Description) || !string.IsNullOrWhiteSpace(ticketUpdate.Description))
            {
                ticket.Description = ticketUpdate.Description;
            }

            if (!string.IsNullOrEmpty(ticketUpdate.Details) || !string.IsNullOrWhiteSpace(ticketUpdate.Details))
            {
                ticket.Details = ticketUpdate.Details;
            }

            if (ticketUpdate.AssignedToId > 0)
            {
                User user = await _userRepo.GetUser(ticketUpdate.AssignedToId);

                if (user == null)
                {
                    return(BadRequest(new { error = "User not found" }));
                }

                ticket.AssignedTo = user;
            }

            if (ticketUpdate.TicketStatusId > 0)
            {
                TicketStatus status = await _repo.GetTicketStatus(ticketUpdate.TicketStatusId);

                if (status == null)
                {
                    return(BadRequest(new { error = "status not found" }));
                }

                ticket.TicketStatus = status;
            }


            if (ticketUpdate.TicketPriorityId > 0)
            {
                TicketPriority priority = await _repo.GetTicketPriority(ticketUpdate.TicketPriorityId);

                if (priority == null)
                {
                    return(BadRequest(new { error = "priority not found" }));
                }

                ticket.TicketPriority = priority;
            }

            if (ticketUpdate.TicketTypeId > 0)
            {
                TicketType type = await _repo.GetTicketType(ticketUpdate.TicketTypeId);

                if (type == null)
                {
                    return(BadRequest(new { error = "Ticket Type not found" }));
                }

                ticket.TicketType = type;
            }

            if (ticketUpdate.TicketQueueId > 0)
            {
                TicketQueue queue = await _repo.GetTicketQueue(ticketUpdate.TicketQueueId);

                if (queue == null)
                {
                    return(BadRequest(new { error = "Ticket Queue not found" }));
                }

                ticket.TicketQueue = queue;
            }

            if (ticketUpdate.ClientId > 0)
            {
                Client client = await _clientRepo.GetClient(ticketUpdate.ClientId);

                if (client == null)
                {
                    return(BadRequest(new { error = "Ticket Client not found" }));
                }

                ticket.Client = client;
            }

            if (ticketUpdate.ConfigItemId > 0)
            {
                ConfigItem item = await _clientRepo.GetConfigItem(ticketUpdate.ConfigItemId);

                if (item == null)
                {
                    return(BadRequest(new { error = "Ticket Config Item not found" }));
                }

                ticket.ConfigItem = item;
            }


            ticket.UpdatedAt = DateTime.Now;

            if (await _repo.Save())
            {
                var ticketToReturn = _mapper.Map <TicketDetailDto>(ticket);

                return(Ok(ticketToReturn));
            }


            return(BadRequest(new { error = "Ticket cannot be saved" }));
        }
 public abstract void CreateQueue(TicketQueue queue);
Example #18
0
        /// <summary>
        /// Creates shiny new queues that are not referenced / altered by other methods.
        /// </summary>
        /// <returns></returns>
        private Ticket NewTicket()
        {
            //Make the complex objects and retunr their ID.
            TicketQueue que = new TicketQueue(0, "nblevins", "description", "QueueName", TestDate, true);
            HelpdeskService.CreateQueue(que);

            TicketCategory cat = new TicketCategory(0, "Category Name", "Category Description", true, que.QueueId);
            HelpdeskService.CreateCategory(cat);

            TicketModule mod = new TicketModule(0, que.QueueId, "Module Name", "Description", true);
            HelpdeskService.CreateModule(mod);

            Requestor req = new Requestor(0, "nbleivns", "Blevins", "444-444-4444", "*****@*****.**");
            HelpdeskService.CreateRequestor(req);

            TicketStatus stat = new TicketStatus(0, "Status Name", "Description", 1, true);
            HelpdeskService.CreateStatus(stat);

            //Set up the ticket...
            Ticket temp = new Ticket();
            temp.Category = cat;
            temp.CreationDate = TestDate;
            temp.Creator = "nblevins";
            temp.Description = "This is my ticket decription.";
            temp.DueDate = TestDate + new TimeSpan(2, 0, 0);
            temp.Module = mod;
            temp.Priority = TicketPriority.Medium;
            temp.Requestor = req;
            temp.Responses = new TicketResponseCollection();
            temp.Status = stat;
            temp.Assignment = new AssignmentCollection();
            temp.Queue = que;

            //Build the company...

            Company comp = new Company();
            comp.Address1 = "addy1";
            comp.Address2 = "addy2";
            comp.City = "some city";
            comp.ContactNumber1 = "444-444-4444";
            comp.ContactNumber2 = "322-333-3333";
            comp.Name = "New Company";
            comp.ParentId = 0;
            comp.State = "TN";
            comp.Website = "www.sworps.com";
            comp.Zip_Code = "33333-3333";

            Requestor MainReq = new Requestor();
            MainReq.ContactNumber = "555-555-5555";
            MainReq.Email = "*****@*****.**";
            MainReq.FirstName = "nathan 1";
            MainReq.LastName = "bleivns 1";
            HelpdeskService.CreateRequestor(MainReq);

            comp.MainContact = MainReq;

            Requestor SecReq = new Requestor();
            SecReq.ContactNumber = "555-222-5555";
            SecReq.Email = "*****@*****.**";
            SecReq.FirstName = "nathan 2";
            SecReq.LastName = "bleivns 2";
            HelpdeskService.CreateRequestor(SecReq);

            comp.SecondaryContact = SecReq;

            temp.Company = comp;
            return temp;
        }
Example #19
0
        /// <summary>
        /// Creates shiny new queues that are not referenced / altered by other methods.
        /// </summary>
        /// <returns></returns>
        private Ticket NewTicket()
        {
            //Make the complex objects and retunr their ID.
            TicketQueue que = new TicketQueue(0, "nblevins", "description", "QueueName", TestDate, true);

            HelpdeskService.CreateQueue(que);

            TicketCategory cat = new TicketCategory(0, "Category Name", "Category Description", true, que.QueueId);

            HelpdeskService.CreateCategory(cat);

            TicketModule mod = new TicketModule(0, que.QueueId, "Module Name", "Description", true);

            HelpdeskService.CreateModule(mod);

            Requestor req = new Requestor(0, "nbleivns", "Blevins", "444-444-4444", "*****@*****.**");

            HelpdeskService.CreateRequestor(req);

            TicketStatus stat = new TicketStatus(0, "Status Name", "Description", 1, true);

            HelpdeskService.CreateStatus(stat);


            //Set up the ticket...
            Ticket temp = new Ticket();

            temp.Category     = cat;
            temp.CreationDate = TestDate;
            temp.Creator      = "nblevins";
            temp.Description  = "This is my ticket decription.";
            temp.DueDate      = TestDate + new TimeSpan(2, 0, 0);
            temp.Module       = mod;
            temp.Priority     = TicketPriority.Medium;
            temp.Requestor    = req;
            temp.Responses    = new TicketResponseCollection();
            temp.Status       = stat;
            temp.Assignment   = new AssignmentCollection();
            temp.Queue        = que;

            //Build the company...

            Company comp = new Company();

            comp.Address1       = "addy1";
            comp.Address2       = "addy2";
            comp.City           = "some city";
            comp.ContactNumber1 = "444-444-4444";
            comp.ContactNumber2 = "322-333-3333";
            comp.Name           = "New Company";
            comp.ParentId       = 0;
            comp.State          = "TN";
            comp.Website        = "www.sworps.com";
            comp.Zip_Code       = "33333-3333";

            Requestor MainReq = new Requestor();

            MainReq.ContactNumber = "555-555-5555";
            MainReq.Email         = "*****@*****.**";
            MainReq.FirstName     = "nathan 1";
            MainReq.LastName      = "bleivns 1";
            HelpdeskService.CreateRequestor(MainReq);

            comp.MainContact = MainReq;

            Requestor SecReq = new Requestor();

            SecReq.ContactNumber = "555-222-5555";
            SecReq.Email         = "*****@*****.**";
            SecReq.FirstName     = "nathan 2";
            SecReq.LastName      = "bleivns 2";
            HelpdeskService.CreateRequestor(SecReq);

            comp.SecondaryContact = SecReq;

            temp.Company = comp;
            return(temp);
        }
 public abstract void UpdateQueue(TicketQueue queue);