public TicketDetailsAgentController(
     IDisplayTickets displayTickets,
     IPriority priority,
     IStatus status,
     ITicketsReply ticketsReply,
     IAttachments attachments,
     ITicketHistory ticketHistory,
     ITickets tickets,
     IProfile profile,
     ICategory category,
     ITicketEscalationHistory iticketEscalationHistory,
     IUserMaster userMaster
     )
 {
     _displayTickets           = displayTickets;
     _priority                 = priority;
     _status                   = status;
     _ticketsReply             = ticketsReply;
     _attachments              = attachments;
     _ticketHistory            = ticketHistory;
     _tickets                  = tickets;
     _profile                  = profile;
     _category                 = category;
     _iticketEscalationHistory = iticketEscalationHistory;
     _userMaster               = userMaster;
 }
예제 #2
0
        public IPriority Dequeue()
        {
            object obj;

            Monitor.Enter(obj = PriorityQueue.syncLock);
            IPriority result;

            try
            {
                IPriority priority = null;
                if (this._workItemsCount > 0)
                {
                    int nextNonEmptyQueue = this.GetNextNonEmptyQueue(-1);
                    priority = this._queues[nextNonEmptyQueue].First.Value;
                    this._queues[nextNonEmptyQueue].RemoveFirst();
                    this._workItemsCount--;
                }
                result = priority;
            }
            finally
            {
                Monitor.Exit(obj);
            }
            return(result);
        }
예제 #3
0
 public AdminReportController(ICategory category, IPriority priority, IOverdueTypes overdueTypes, IExportReport exportReport, IUserMaster userMaster)
 {
     _category     = category;
     _priority     = priority;
     _overdueTypes = overdueTypes;
     _exportReport = exportReport;
     _userMaster   = userMaster;
 }
예제 #4
0
        public PriorityController(IPriority repo, BridgeCareContext db)
        {
            this.repo = repo ?? throw new ArgumentNullException(nameof(repo));
            this.db   = db ?? throw new ArgumentNullException(nameof(db));

            PriorityLibraryGetMethods  = CreateGetMethods();
            PriorityLibrarySaveMethods = CreateSaveMethods();
        }
예제 #5
0
 private ElementSelector(Predicate<IGuiElement> predicate, IPriority priority)
 {
     Priority = priority;
     this.predicate = predicate;
     GetSelection = tree => tree.Nodes
                          .Where(node => predicate(node.Data))
                          .Select(node => node.Data);
 }
예제 #6
0
 public TicketAdminController(ICategory category, IPriority priority, ITickets tickets, IAttachments attachments, ITicketHistory ticketHistory, IProfile profile, IUserMaster userMaster)
 {
     _category      = category;
     _priority      = priority;
     _tickets       = tickets;
     _attachments   = attachments;
     _ticketHistory = ticketHistory;
     _profile       = profile;
     _userMaster    = userMaster;
 }
예제 #7
0
 public TicketController(ICategory category, IPriority priority, ITickets tickets, IAttachments attachments,
                         ITicketHistory ticketHistory, IProfile profile)
 {
     _category      = category;
     _priority      = priority;
     _tickets       = tickets;
     _attachments   = attachments;
     _ticketHistory = ticketHistory;
     _profile       = profile;
 }
예제 #8
0
 public SummaryReportParameters(ISimulationAnalysis simulationAnalysis, IInvestmentLibrary inflationRate,
                                ExcelHelper excelHelper, IPriority priorities, ICriteriaDrivenBudgets budget, BridgeCareContext db)
 {
     analysisData     = simulationAnalysis ?? throw new ArgumentNullException(nameof(simulationAnalysis));
     getInflationRate = inflationRate ?? throw new ArgumentNullException(nameof(inflationRate));
     this.excelHelper = excelHelper;
     getPriorities    = priorities ?? throw new ArgumentNullException(nameof(priorities));
     budgetCriteria   = budget ?? throw new ArgumentNullException(nameof(budget));
     this.db          = db ?? throw new ArgumentNullException(nameof(db));
 }
예제 #9
0
 public TicketDetailsController(IDisplayTickets displayTickets, IPriority priority, IStatus status, ITicketsReply ticketsReply, IAttachments attachments, ITickets tickets, ITicketHistory ticketHistory)
 {
     _displayTickets = displayTickets;
     _priority       = priority;
     _status         = status;
     _ticketsReply   = ticketsReply;
     _attachments    = attachments;
     _tickets        = tickets;
     _ticketHistory  = ticketHistory;
 }
예제 #10
0
        /// <summary>
        /// 入列
        /// </summary>
        /// <param name="workItem"></param>
        public void Enqueue(IPriority workItem)
        {
            lock (syncLock)
            {
                int queueIndex = _queuesCount - (int)workItem.Priority - 1;

                _queues[queueIndex].AddLast(workItem);
                ++_workItemsCount;
            }
        }
예제 #11
0
 public static DataSet Retrieve(IPriority Priority)
 {
     SqlParameter[] _parameters =
     {
         new SqlParameter("@Department", Priority.Department)
         ,                               new SqlParameter("@DateFrom", Priority.SysCreated)
         ,                               new SqlParameter("@DateTo", Priority.SysModified)
         ,                               new SqlParameter("@Notes", Priority.Notes)
     };
     return(SqlHelper.ExecuteDataset(ConnectionString, "sp_Priorities_SearchPriorities", _parameters));
 }
예제 #12
0
 public static void Update(IPriority Priority)
 {
     SqlParameter[] _parameters =
     {
         new SqlParameter("@Id", Priority.Id)
         ,                       new SqlParameter("@ReportDate", Priority.ReportDate)
         ,                       new SqlParameter("@Department", Priority.Department)
         ,                       new SqlParameter("@Notes", Priority.Notes)
         ,                       new SqlParameter("@SysModifier", Priority.SysModifier)
     };
     SqlHelper.ExecuteNonQuery(ConnectionString, "sp_Priorities_UpdateById", _parameters);
 }
예제 #13
0
        public static Int32 Insert(IPriority Priority)
        {
            SqlParameter[] _parameters =
            {
                new SqlParameter("@ReportDate", Priority.ReportDate)
                ,                               new SqlParameter("@Department", Priority.Department)
                ,                               new SqlParameter("@Notes", Priority.Notes)
                ,                               new SqlParameter("@SysCreator", Priority.SysCreator)
            };

            return(Convert.ToInt32(SqlHelper.ExecuteScalar(ConnectionString, "sp_Priorities_InsertPriority", _parameters)));
        }
예제 #14
0
        private IPriority LookupOrCreate(PriorityType pt)
        {
            IPriority retval = null;

            lock (lockObject)
            {
                if (!priorities.TryGetValue(pt, out retval))
                {
                    // doesn't exist so far, so add it
                    priorities.Add(pt, retval = new BasicPriority(pt, 0));
                }
            }

            return(retval);
        }
예제 #15
0
        public void Enqueue(IPriority workItem)
        {
            object obj;

            Monitor.Enter(obj = PriorityQueue.syncLock);
            try
            {
                int num = ((PriorityEnums)10 - workItem.Priority - PriorityEnums.Level_1);
                this._queues[num].AddLast(workItem);
                this._workItemsCount++;
            }
            finally
            {
                Monitor.Exit(obj);
            }
        }
예제 #16
0
        /// <summary>
        /// 出列
        /// </summary>
        /// <returns></returns>
        public IPriority Dequeue()
        {
            lock (syncLock)
            {
                IPriority workItem = null;

                if (_workItemsCount > 0)
                {
                    int queueIndex = GetNextNonEmptyQueue(-1);
                    workItem = _queues[queueIndex].First.Value;
                    _queues[queueIndex].RemoveFirst();
                    --_workItemsCount;
                }

                return(workItem);
            }
        }
예제 #17
0
 public HODDashboardController(IMenu menu,
                               ISubMenu subMenu,
                               ITickets tickets,
                               IPriority priority,
                               IStatus status,
                               IDashboardTicketCount dashboardTicketCount,
                               IChart chart, IUserMaster userMaster, IAllTicketGrid allTicketGrid, ITicketHistory ticketHistory, IMenuCategory menuCategory)
 {
     _iMenu                = menu;
     _iTickets             = tickets;
     _priority             = priority;
     _status               = status;
     _dashboardTicketCount = dashboardTicketCount;
     _chart                = chart;
     _userMaster           = userMaster;
     _allTicketGrid        = allTicketGrid;
     _ticketHistory        = ticketHistory;
     _menuCategory         = menuCategory;
 }
예제 #18
0
        public static void Update(float p1, float p2)
        {
            while (onlyUpdates.Count > 0)
            {
                long   instanceId = onlyUpdates.Dequeue();
                Entity component;
                if (!allComponents.TryGetValue(instanceId, out component))
                {
                    continue;
                }
                if (component.IsDisposed)
                {
                    continue;
                }

                IPriorityLabel iPrioritySystem = onlySystems[component.GetType()];
                if (iPrioritySystem == null)
                {
                    continue;
                }

                onlyUpdates2.Enqueue(instanceId);

                IPriority <float, float> iPriority = iPrioritySystem as IPriority <float, float>;
                if (iPriority == null)
                {
                    continue;
                }

                try
                {
                    iPriority.Run(component, p1, p2);
                }
                catch (Exception e)
                {
                    Log.Error(e);
                }
            }

            Utility.Change.Swap(ref onlyUpdates, ref onlyUpdates2);
        }
예제 #19
0
 public AgentDashboardController(IMenu menu,
                                 ITickets tickets,
                                 IPriority priority,
                                 IStatus status,
                                 IDashboardTicketCount dashboardTicketCount,
                                 IUserMaster userMaster,
                                 ITicketHistory ticketHistory,
                                 IChart chart, IAllTicketGrid allTicketGrid, ITicketNotification ticketNotification, IMenuCategory menuCategory, IAgentCheckInStatus agentCheckInStatus)
 {
     _iMenu                = menu;
     _iTickets             = tickets;
     _priority             = priority;
     _status               = status;
     _dashboardTicketCount = dashboardTicketCount;
     _userMaster           = userMaster;
     _ticketHistory        = ticketHistory;
     _chart                = chart;
     _allTicketGrid        = allTicketGrid;
     _ticketNotification   = ticketNotification;
     _menuCategory         = menuCategory;
     _agentCheckInStatus   = agentCheckInStatus;
 }
예제 #20
0
 public PrioritiesController(IPriority repository, IMapper mapper)
 {
     _repository = repository;
     _mapper     = mapper;
 }
예제 #21
0
 public bool UpdatePriorityOrder(IPriority _priority, int TenantID, int selectedPriorityID, int currentPriorityID, int PriorityFor)
 {
     _priorityList = _priority;
     return(_priorityList.UpdatePriorityOrder(TenantID, selectedPriorityID, currentPriorityID, PriorityFor));
 }
예제 #22
0
 public PriorityDto(IPriority other) : base(other)
 {
 }
예제 #23
0
 public TaskPriority(IPriority outer) : base(outer) { }
예제 #24
0
 public SlaPoliciesController(IPriority priority, ISlaPolicies slaPolicies)
 {
     _priority    = priority;
     _slaPolicies = slaPolicies;
 }
예제 #25
0
 private void AddElement(IGuiElement element, IStylingRule rule, IPriority priority)
 {
     if (styledElements.ContainsKey(element))
     {
         if (priority.Amount > styledElements[element].Priority.Amount)
         {
             styledElements[element].Style.Override(rule);
         }
         else
         {
             styledElements[element].Style.Merge(rule);
         }
         return;
     }
     styledElements.Add(element, new StyleEntry(priority, rule));
 }
예제 #26
0
 public StyleEntry(IPriority priority, IStylingRule style)
 {
     Priority = priority;
     Style = style;
 }
예제 #27
0
        public void Update(IPriority priority, ITextureOutput output)
        {
            var set = new ValueTuple <Object, float> [priority.Count];

            for (int idx = 0; idx < priority.Count; idx++)
            {
                set[idx++] = new ValueTuple <Object, float>(Priority.GetObject(idx), Priority.GetPriority(idx));
            }
            Array.Sort(set, (a, b) => a.Item2.CompareTo(b.Item2));

            var operations = new List <ValueTuple <Object, int, int, int> >();

            for (int i = 0; i < set.Length; i++)
            {
                var r           = set[i].Item1;
                var rawArea     = set[i].Item2;
                var outSize     = Output.Size;
                var normSize    = Mathf.Sqrt(rawArea) * outSize;
                var smallness   = _tree.GetSmallness(r.GetInstanceID());
                var currentSize = smallness.HasValue ? (int)(outSize / Mathf.Pow(2, smallness.Value)) : 0;

                var candidateNextSize = 0;
                if (normSize > 0.5f) // If size < 0.5, try to unload it completely
                {
                    // Only go in single steps:
                    candidateNextSize = normSize < currentSize ? currentSize * 2 : currentSize / 2;
                    // Use the below to jump to the closest size right away:
                    // candidateNextSize = Mathf.ClosestPowerOfTwo(Mathf.RoundToInt(normSize));
                }
                candidateNextSize = Mathf.Clamp(candidateNextSize, 0, Output.GetMaxSize(r));

                // 0 = current size exactly, 1 = next size exactly
                var interp = Mathf.InverseLerp(currentSize, candidateNextSize, normSize);
                if (interp > 0.5f) // Only switch if we're closer to the next size than the current size
                {
                    // 0 = definitely stick to the current, 1 = definitely switch
                    interp = 2 * (interp - 0.5f);
                    if (interp > Hysteresis)
                    {
                        if (candidateNextSize == 0)
                        {
                            _tree.Remove(r.GetInstanceID());
                            output.Remove(r);
                        }
                        else
                        {
                            var newSmallness = (smallness ?? 0) + (currentSize > candidateNextSize ? +1 : -1);
                            operations.Add(ValueTuple.Create(r, currentSize, candidateNextSize, newSmallness));
                        }
                    }
                }
            }

            // This implementation ensures only one texture is uploaded per frame:
            // Pick the smallest increase. If that will fit in, do it; otherwise, do the largest decrease
            if (operations.Count == 0)
            {
                // TODO: A 'defrag' operation
                return;
            }
            operations.Sort((a, b) => (a.Item3 - a.Item2).CompareTo(b.Item3 - b.Item2));
            var smallestIncrease = operations.FirstOrDefault(v => v.Item3 > v.Item2);

            if (smallestIncrease.Item1 != null)
            {
                var id = smallestIncrease.Item1.GetInstanceID();
                _tree.Remove(id);
                var v = _tree.Pack(smallestIncrease.Item4, id, true);
                if (v.HasValue)
                {
                    Output.Copy(smallestIncrease.Item1, v.Value, smallestIncrease.Item3);
                    return;
                }
            }
            var largestDecrease = operations.FirstOrDefault(v => v.Item3 < v.Item2 && v.Item3 > 0);

            if (largestDecrease.Item1 != null)
            {
                var id = largestDecrease.Item1.GetInstanceID();
                _tree.Remove(id);
                var v = _tree.Pack(smallestIncrease.Item4, id, true);
                if (!v.HasValue)
                {
                    Debug.LogAssertion("Unable to pack a smaller texture just after removing a larger one?");
                    return;
                }
                Output.Copy(largestDecrease.Item1, v.Value, largestDecrease.Item3);
            }
        }
예제 #28
0
 public int Priority(IPriority <IEarlyUpdateTickable> type)
 {
     return(DefaultPriority);
 }
예제 #29
0
 public List <Priority> PriorityList(IPriority _priority, int TenantID, int PriorityFor)
 {
     _priorityList = _priority;
     return(_priorityList.PriorityList(TenantID, PriorityFor));
 }
예제 #30
0
 public PriorityController(IPriority repo, BridgeCareContext db)
 {
     this.repo = repo ?? throw new ArgumentNullException(nameof(repo));
     this.db   = db ?? throw new ArgumentNullException(nameof(db));
 }
예제 #31
0
 public int Priority(IPriority <IEarlyUpdateTickable> type)
 {
     return(Const.VERY_LATE);
 }
예제 #32
0
 public int Priority(IPriority <IPostLateUpdateTickable> type)
 {
     return(Const.VERY_EARLY);
 }
예제 #33
0
 public HodReportController(IExportReport agentAdminReport, IOverdueTypes overdueTypes, IPriority priority)
 {
     _exportReport = agentAdminReport;
     _overdueTypes = overdueTypes;
     _priority     = priority;
 }
예제 #34
0
 public PriorityDto(IPriority other)
     : base()
 {
     Code = other.Code;
     Name = other.Name;
 }
예제 #35
0
 public BaseSubmitBehavior(BugTicket ticket, IPriority priority, IStatus status)
 {
     Status   = status;
     Priority = priority;
     Ticket   = ticket;
 }
예제 #36
0
 public int Deletepriority(IPriority _priority, int PriorityID, int tenantID, int UserID, int PriorityFor)
 {
     _priorityList = _priority;
     return(_priorityList.DeletePriority(PriorityID, tenantID, UserID, PriorityFor));
 }