Ejemplo n.º 1
0
        public ActionResult ServiceBoard(List<int?> members, List<int?> clients)
        {
            SupportResponse response = new SupportResponse();

            /*
            int diff = DateTime.Now.DayOfWeek - DayOfWeek.Monday;
            if (diff < 0) { diff += 7; }
            DateTime startDate = DateTime.Now.AddDays((-1 * diff) -1).Date;
            DateTime endDate = startDate.AddDays(7);

            ConnectWiseEntities entities = new ConnectWiseEntities();

            var tickets = entities.somethingdigital_vTickets.Where(t => t.scheduleDate < endDate && t.scheduleDate > startDate);
            if (members != null)
                tickets = tickets.Where(t => members.Contains(t.employeeId));
            if (clients != null)
                tickets = tickets.Where(t => clients.Contains(t.clientId));
            tickets = tickets.OrderBy(t => t.Sort_Order);
            */

            var board = Util.CWServiceBoards.InteractiveManagedServices;

            CWTicketService.TicketServiceClient client = new CWTicketService.TicketServiceClient();
            List<CWTicketService.Ticket> svcTickets = client.GetTicketsForTheWeek(members, clients, board);
            List<CWTicketService.Status> svcStatuss = client.GetStatus(board);

            foreach (CWTicketService.Status svcStatus in svcStatuss)
            {
                response.buckets.Add(new Bucket { name = svcStatus.Title, status = svcStatus.Title, statusId = svcStatus.StatusID, sortOrder = svcStatus.SortOrder });
            }
            foreach (CWTicketService.Ticket svcTicket in svcTickets)
            {
                Bucket tmp = response.buckets.FirstOrDefault(b => b.statusId == svcTicket.StatusID);
                if (tmp != null)
                {
                    if (!response.members.Any(m => m.memberId == svcTicket.AssignedMemberId))
                        response.members.Add(new Member { fullName = svcTicket.AssignedMember, memberId = svcTicket.AssignedMemberId });
                    if (!response.clients.Any(m => m.clientId == svcTicket.ClientID))
                        response.clients.Add(new Client { clientId = svcTicket.ClientID, clientName = svcTicket.ClientName });

                    tmp.tickets.Add(new Ticket { assigned = svcTicket.AssignedMember, budget = svcTicket.HoursBudget, actual = svcTicket.HoursActual, client = svcTicket.ClientName, description = "", name = svcTicket.Title, number = svcTicket.TicketID, statusId = svcTicket.StatusID });
                }
            }

            return Json(response, JsonRequestBehavior.AllowGet);
        }
        public ActionResult ServiceBoard(int?[] members, int?[] clients, int board, bool weekView)
        {
            SupportResponse response = new SupportResponse();

            using (var sbh = new ServiceBusHelper())
            {
                var client = sbh.GetService();

                //var board = sdtime.Util.CWServiceBoards.InteractiveManagedServices;

                IEnumerable<SD.CWServices.Model.Tickets.Ticket> svcTickets = null;

                if (weekView)
                    svcTickets = client.GetTicketsForTheWeek(members, clients, board);
                else
                    svcTickets = client.GetTicketsForAllTime(members, clients, board);

                var svcStatus = client.GetStatus(board);

                foreach (var state in svcStatus)
                {
                    response.buckets.Add(new Bucket { name = state.Title, status = state.Title, statusId = state.StatusID, sortOrder = state.SortOrder });
                }
                foreach (var svcTicket in svcTickets)
                {
                    Bucket tmp = response.buckets.FirstOrDefault(b => b.statusId == svcTicket.StatusID);
                    if (tmp != null)
                    {
                        if (!response.members.Any(m => m.memberId == svcTicket.AssignedMemberId))
                            response.members.Add(new Member { fullName = svcTicket.AssignedMember, memberId = svcTicket.AssignedMemberId });
                        if (!response.clients.Any(m => m.clientId == svcTicket.ClientID))
                            response.clients.Add(new Client { clientId = svcTicket.ClientID, clientName = svcTicket.ClientName });

                        tmp.tickets.Add(new Ticket { assigned = svcTicket.AssignedMember, budget = svcTicket.HoursBudget, actual = svcTicket.HoursActual, client = svcTicket.ClientName, description = "", name = svcTicket.Title, number = svcTicket.TicketID, statusId = svcTicket.StatusID });
                    }
                }

                return Json(response, JsonRequestBehavior.AllowGet);
            }
        }