Пример #1
0
        public PerformanceSessionViewModel()
        {
            ViewModels = new ObservableCollection <ViewModelBase>();

            FramerateMonitorViewModel fpsVM = new FramerateMonitorViewModel();

            ViewModels.Add(fpsVM);

            OpenTimeViewModel opentimeVM = new OpenTimeViewModel();

            ViewModels.Add(opentimeVM);

            ReactionTimeViewModel reactionTimeVM = new ReactionTimeViewModel();

            ViewModels.Add(reactionTimeVM);

            ADBLogViewModel adbLoggerVM = new ADBLogViewModel();

            ADBLogDataReceivedEvent += adbLoggerVM.ReceivedLogData;
            ViewModels.Add(adbLoggerVM);

            //LogDataViewModel logDataVM = new LogDataViewModel();
            //LogDataReceivedEvent += logDataVM.ReceivedLogData;
            //ViewModels.Add(logDataVM);

            SelectedVM = fpsVM;

            //View = new PerformanceSessionView();
            Model       = new PerformanceSession();
            DisplayName = Model.SessionName;
            //View.DataContext = this;
        }
        public PerformanceSession CreateSession(string sessionName, ITimeProvider timeProvider)
        {
            var session = new PerformanceSession(sessionName, timeProvider);

            lock (this.singleAccessLock)
            {
                this.sessionsUnderManagement.Add(session);
            }

            return(session);
        }
Пример #3
0
        public JsonResult DeletePerformance([FromBody] PerformanceSession performance)
        {
            try
            {
                if (performance.Id < 1)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Sorry, Item not found"
                    }));
                }

                var performanceSession = _context.PerformanceSession.FirstOrDefault(p => p.Id == performance.Id);
                if (performanceSession == null)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Sorry, Item not found"
                    }));
                }

                _context.PerformanceSession.Remove(performanceSession);
                _context.SaveChanges();
                return(Json(new ReturnData <string>
                {
                    Success = true,
                    Message = "Performance session deleted successfully"
                }));
            }
            catch (Exception ex)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }
Пример #4
0
        public JsonResult AddPerformance([FromBody] PerformanceSession performance)
        {
            try
            {
                performance.StartDate = performance.StartDate.GetValueOrDefault().AddDays(1);
                performance.EndDate   = performance.EndDate.GetValueOrDefault().AddDays(1);
                if (string.IsNullOrEmpty(performance.Name))
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Kindly provide performance name"
                    }));
                }

                if (string.IsNullOrEmpty(performance.TemplateName))
                {
                    return(Json(new ReturnData <string> {
                        Success = false,
                        Message = "Kindly select template name"
                    }));
                }

                if (performance.StartDate == null)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Kindly provide start date"
                    }));
                }

                if (performance.EndDate == null)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Kindly provide end date"
                    }));
                }

                if (performance.StartDate > performance.EndDate)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "Sorry, start date cannot be greater than end date"
                    }));
                }

                if (performance.EndDate < DateTime.UtcNow)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "End date must be greater than today"
                    }));
                }

                var conflict = _context.PerformanceSession.Any(p => p.EndDate >= performance.StartDate && p.StartDate <= performance.EndDate && p.Id != performance.Id);
                if (conflict)
                {
                    return(Json(new ReturnData <string>
                    {
                        Success = false,
                        Message = "There is an eveluation scheduled at this time"
                    }));
                }

                if (performance.Id < 1)
                {
                    var performanceExist = _context.PerformanceSession.Any(p => p.Name.ToUpper().Equals(performance.Name.ToUpper()));
                    if (performanceExist)
                    {
                        return(Json(new ReturnData <string>
                        {
                            Success = false,
                            Message = "Sorry, name already exist"
                        }));
                    }

                    _context.PerformanceSession.Add(performance);
                }
                else
                {
                    var performanceSession = _context.PerformanceSession.FirstOrDefault(p => p.Id == performance.Id);
                    if (performanceSession == null)
                    {
                        return(Json(new ReturnData <string>
                        {
                            Success = false,
                            Message = "Sorry, Item not found"
                        }));
                    }

                    performanceSession.Name         = performance.Name;
                    performanceSession.TemplateName = performance.TemplateName;
                    performanceSession.StartDate    = performance.StartDate;
                    performanceSession.EndDate      = performance.EndDate;
                }

                _context.SaveChanges();
                return(Json(new ReturnData <string>
                {
                    Success = true,
                    Message = "Performance Saved successfully"
                }));
            }
            catch (Exception)
            {
                return(Json(new ReturnData <string>
                {
                    Success = false,
                    Message = "Sorry, An error occurred"
                }));
            }
        }