Пример #1
0
        public void ShowReplaceTraceModal(TraceItemModel traceItemModel)
        {
            EditTraceDialogViewModel.ClearCurrentState();

            EditTraceDialogViewModel.Id           = traceItemModel.Id;
            EditTraceDialogViewModel.Title        = traceItemModel.Title;
            EditTraceDialogViewModel.Description  = traceItemModel.Description;
            EditTraceDialogViewModel.DueDate      = traceItemModel.DueDate;
            EditTraceDialogViewModel.SelectedRole = traceItemModel.AssignedRole;

            EditTraceModalRef?.Show();
        }
Пример #2
0
        public async Task NavigateToReservationAsync(TraceItemModel trace)
        {
            var navigationResult = await ApaleoOneNavigationService.NavigateToReservationAsync(trace);

            if (navigationResult.Success)
            {
                return;
            }

            var errorMessage = navigationResult.ErrorMessage.ValueOrException(new NotImplementedException());

            await ApaleoOneNotificationService.ShowErrorAsync(errorMessage);
        }
Пример #3
0
        public async Task RevertCompleteItemAsync(TraceItemModel trace)
        {
            var revertResult = await TraceModifierService.RevertCompleteTraceAsync(trace.Id);

            if (revertResult.Success)
            {
                await RefreshAsync();

                await ApaleoOneNotificationService.ShowSuccessAsync(TextConstants.TraceRevertedCompleteSuccessfullyMessage);
            }
            else
            {
                var errorMessage = revertResult.ErrorMessage.ValueOrException(new NotImplementedException());

                await ApaleoOneNotificationService.ShowErrorAsync(errorMessage);
            }
        }
Пример #4
0
        public async Task CompleteTraceAsync(TraceItemModel trace)
        {
            var completeResult = await TraceModifierService.MarkTraceAsCompleteAsync(trace.Id);

            if (completeResult.Success)
            {
                await RefreshAsync();

                await ApaleoOneNotificationService.ShowSuccessAsync(TextConstants.TraceMarkedAsCompletedMessage);
            }
            else
            {
                var errorMessage = completeResult.ErrorMessage.ValueOrException(new NotImplementedException());

                await ApaleoOneNotificationService.ShowErrorAsync(errorMessage);
            }
        }
Пример #5
0
        public async Task <ResultModel <bool> > NavigateToReservationAsync(TraceItemModel traceItemModel)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(traceItemModel.ReservationId) ||
                    string.IsNullOrWhiteSpace(traceItemModel.PropertyId))
                {
                    throw new BusinessValidationException(TextConstants.ApaleoOneNavigationNotPossible);
                }

                var message = new ApaleoNavigationMessageModel
                {
                    Path    = "reservation-details",
                    Context = traceItemModel.PropertyId,
                    Id      = traceItemModel.ReservationId
                };

                var messageString = SerializeObject(message);

                await JsRuntime.InvokeVoidAsync("parent.postMessage", messageString, "*");

                return(new ResultModel <bool>
                {
                    Result = true.Some(),
                    Success = true
                });
            }
            catch (BusinessValidationException e)
            {
                return(new ResultModel <bool>
                {
                    Success = false,
                    ErrorMessage = e.Message.Some()
                });
            }
        }
Пример #6
0
        public static void AddTrace(this SortedDictionary <DateTime, List <TraceItemModel> > dictionary, TraceItemModel trace)
        {
            if (dictionary.ContainsKey(trace.DueDate))
            {
                var existentTraces = dictionary[trace.DueDate];
                if (existentTraces.Exists(item => item.Id == trace.Id))
                {
                    return;
                }

                existentTraces.Add(trace);
            }
            else
            {
                dictionary.Add(
                    trace.DueDate,
                    new List <TraceItemModel>
                {
                    trace
                });
            }
        }
Пример #7
0
        public static void RemoveTrace(this SortedDictionary <DateTime, List <TraceItemModel> > dictionary, TraceItemModel trace)
        {
            if (dictionary.ContainsKey(trace.DueDate))
            {
                dictionary[trace.DueDate].Remove(trace);

                if (dictionary[trace.DueDate].Count == 0)
                {
                    dictionary.Remove(trace.DueDate);
                }
            }
        }