Ejemplo n.º 1
0
        private ReportsSettingsView CreateReportsSettingsEntity(ReportsSettings defaultReportSettings)
        {
            var dropDownsQuery = new ReportsSettingsView();

            // Group By Date as default.
            dropDownsQuery.GroupById = defaultReportSettings?.GroupById ?? (int)Constants.ReportsGroupBy.Date;

            // Show all columns as default.
            dropDownsQuery.ShowColumnIds = defaultReportSettings?.FilterShowColumnIds == null
                ? new[]
            {
                (int)ReportsExportService.ShowColumnModelIds.ShowEstimatedTime,
                (int)ReportsExportService.ShowColumnModelIds.ShowDate,
                (int)ReportsExportService.ShowColumnModelIds.ShowNotes,
                (int)ReportsExportService.ShowColumnModelIds.ShowStartFinish
            }
                : ConvertStringToArrayOfInts(defaultReportSettings.FilterShowColumnIds);

            if (defaultReportSettings != null)
            {
                dropDownsQuery.DateFrom = defaultReportSettings.DateFrom;
                dropDownsQuery.DateTo   = defaultReportSettings.DateTo;

                dropDownsQuery.ClientIds  = ConvertStringToArrayOfNullableInts(defaultReportSettings.FilterClientIds);
                dropDownsQuery.ProjectIds = ConvertStringToArrayOfInts(defaultReportSettings.FilterProjectIds);
                dropDownsQuery.MemberIds  = ConvertStringToArrayOfInts(defaultReportSettings.FilterMemberIds);
                dropDownsQuery.QueryName  = defaultReportSettings.QueryName;
                dropDownsQuery.QueryId    = defaultReportSettings.Id;
            }

            return(dropDownsQuery);
        }
Ejemplo n.º 2
0
 private void CheckCustomQueryForThisMember(int?id, ReportsSettings reportsSettings)
 {
     if (reportsSettings == null)
     {
         throw new CoralTimeEntityNotFoundException($"There is no record for this member by id = {id}");
     }
 }
        public void SaveCustomQuery(ReportsSettingsView reportsSettingsView)
        {
            if (!IsDefaultQuery(reportsSettingsView.QueryName))
            {
                var memberId = MemberImpersonated.Id;

                var reportsSettings = Uow.ReportsSettingsRepository.GetEntityFromContext_ByMemberIdQueryName(memberId, reportsSettingsView.QueryName);
                if (reportsSettings == null)
                {
                    ResetIsCustomQueryForAllQueryThisMember(memberId);

                    reportsSettings = new ReportsSettings().GetModel(reportsSettingsView, memberId);
                    Uow.ReportsSettingsRepository.Insert(reportsSettings);

                    Uow.Save();
                    Uow.ReportsSettingsRepository.LinkedCacheClear();
                }
                else
                {
                    throw new CoralTimeDangerException("You try to save existed custom query");
                }
            }
            else
            {
                throw new CoralTimeDangerException("You try to save not custom query");
            }
        }
Ejemplo n.º 4
0
        public static ReportsSettings CreateModelForInsert(this ReportsSettings reportsSettings, ReportsSettingsView reportsSettingsView, int memberId)
        {
            var modelForInsert = new ReportsSettings();

            MapViewToModel(modelForInsert, reportsSettingsView, memberId);

            return(modelForInsert);
        }
Ejemplo n.º 5
0
        public WorkLogUpdater(ReportsSettings reportsSettings, IJiraApi jiraApi)
        {
            _reportsSettings = reportsSettings;
            _jiraApi         = jiraApi;

            _timer          = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(30);
            _timer.Tick    += CheckIfWorkShouldBeLogged;
            _timer.Start();

            LogWorkCommand = new RelayCommand(LogWork);
        }
Ejemplo n.º 6
0
        private static void MapViewToModel(ReportsSettings reportsSettings, ReportsSettingsView reportsSettingsView, int memberId)
        {
            reportsSettings.QueryName = reportsSettingsView.QueryName;
            reportsSettings.MemberId  = memberId;

            reportsSettings.GroupById           = reportsSettingsView.GroupById ?? (int)Constants.ReportsGroupBy.Date;
            reportsSettings.DateFrom            = reportsSettingsView.DateFrom;
            reportsSettings.DateTo              = reportsSettingsView.DateTo;
            reportsSettings.FilterProjectIds    = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.ProjectIds);
            reportsSettings.FilterMemberIds     = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.MemberIds);
            reportsSettings.FilterClientIds     = CommonHelpers.ConvertFromArrayOfNullableIntsToString(reportsSettingsView.ClientIds);
            reportsSettings.FilterShowColumnIds = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.ShowColumnIds);
        }
Ejemplo n.º 7
0
        public IssuesUpdatesChecker(ReportsSettings reportsSettings, IJiraApi jiraApi, JiraSessionViewModel jiraSession, IMessenger messenger)
        {
            _reportsSettings = reportsSettings;
            _jiraApi         = jiraApi;
            _jiraSession     = jiraSession;
            _messenger       = messenger;

            SystemEvents.SessionSwitch += (sender, args) =>
            {
                _isStationLocked = args.Reason == SessionSwitchReason.SessionLock;
            };

            _timer          = new DispatcherTimer();
            _timer.Interval = TimeSpan.FromSeconds(30);
            _timer.Tick    += TimerTick;
            _timer.Start();
        }
        public static ReportsSettingsView GetView(this ReportsSettings reportsSettings)
        {
            return(new ReportsSettingsView
            {
                GroupById = reportsSettings?.GroupById,
                ShowColumnIds = CommonHelpers.ConvertStringToArrayOfInts(reportsSettings.FilterShowColumnIds),

                DateStaticId = reportsSettings.DateStaticId,
                DateFrom = reportsSettings.DateFrom,
                DateTo = reportsSettings.DateTo,

                ClientIds = CommonHelpers.ConvertStringToArrayOfNullableInts(reportsSettings.FilterClientIds),
                ProjectIds = CommonHelpers.ConvertStringToArrayOfInts(reportsSettings.FilterProjectIds),
                MemberIds = CommonHelpers.ConvertStringToArrayOfInts(reportsSettings.FilterMemberIds),

                QueryName = reportsSettings.QueryName,
                QueryId = reportsSettings.Id,
            });
        }
        private ReportsSettingsView CreateQueryWithDefaultValues(int memberImpersonatedId)
        {
            var reportsSettingsView = new ReportsSettingsView().GetViewWithDefaultValues();

            var dateStaticExtend = CreateDateStaticExtend(reportsSettingsView.DateStaticId);

            reportsSettingsView.DateFrom = dateStaticExtend.DateFrom;
            reportsSettingsView.DateTo   = dateStaticExtend.DateTo;

            var reportsSettings = new ReportsSettings().GetModel(reportsSettingsView, memberImpersonatedId);

            Uow.ReportsSettingsRepository.Insert(reportsSettings);
            Uow.Save();
            Uow.ReportsSettingsRepository.LinkedCacheClear();

            reportsSettingsView = reportsSettings.GetView();

            return(reportsSettingsView);
        }
        public static ReportsSettings GetModel(this ReportsSettings reportsSettings, ReportsSettingsView reportsSettingsView, int memberId)
        {
            reportsSettings.QueryName = reportsSettingsView.QueryName;
            reportsSettings.MemberId  = memberId;

            reportsSettings.IsCurrentQuery = true;

            reportsSettings.GroupById    = reportsSettingsView.GroupById;
            reportsSettings.DateFrom     = reportsSettingsView.DateFrom;
            reportsSettings.DateTo       = reportsSettingsView.DateTo;
            reportsSettings.DateStaticId = reportsSettingsView.DateStaticId;

            reportsSettings.FilterProjectIds    = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.ProjectIds);
            reportsSettings.FilterMemberIds     = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.MemberIds);
            reportsSettings.FilterClientIds     = CommonHelpers.ConvertFromArrayOfNullableIntsToString(reportsSettingsView.ClientIds);
            reportsSettings.FilterShowColumnIds = CommonHelpers.ConvertFromArrayOfIntsToString(reportsSettingsView.ShowColumnIds);

            return(reportsSettings);
        }
Ejemplo n.º 11
0
 private void SetIsCurrentQueryTrue(ReportsSettings queryFromReportsSettings)
 {
     queryFromReportsSettings.IsCurrentQuery = true;
 }
Ejemplo n.º 12
0
        public static ReportsSettings UpdateModelForUpdates(this ReportsSettings reportsSettings, ReportsSettingsView reportsSettingsView, int memberId)
        {
            MapViewToModel(reportsSettings, reportsSettingsView, memberId);

            return(reportsSettings);
        }