コード例 #1
0
ファイル: ReportMapper.cs プロジェクト: DilshanMeegoda/MIT
        public static Report ToReport(this ReportDataDto reportDataDto)
        {
            var report = new Report();

            report.ReportId           = reportDataDto.ReportId;
            report.ReportDataId       = reportDataDto.ReportDataId;
            report.Number             = reportDataDto.Number;
            report.QrCode             = reportDataDto.QrCode;
            report.ReportName         = reportDataDto.ReportName;
            report.Description        = reportDataDto.Description;
            report.HeaderTemplateData = reportDataDto.HeaderTemplateData;
            report.DetailTemplateData = reportDataDto.DetailTemplateData;
            report.AssignUsers        = reportDataDto.AssignUsers;
            report.ReportStatus       = reportDataDto.ReportStatus;
            report.OwnerUserId        = reportDataDto.OwnerUserId;
            report.VerifierUserId     = reportDataDto.VerifierUserId;
            report.ProjectId          = reportDataDto.ProjectId;
            report.NoOfElements       = reportDataDto.NoOfElements;
            report.NoOfFilledElements = reportDataDto.NoOfFilledElements;
            report.CreatedDateTime    = reportDataDto.CreatedDateTime;
            report.ModifiedDateTime   = reportDataDto.ModifiedDateTime;
            report.IsArchived         = reportDataDto.IsArchived;
            report.CreatedUserId      = reportDataDto.CreatedUserId;
            report.ModifiedUserId     = reportDataDto.ModifiedUserId;
            report.StatusTimeLines    = reportDataDto.StatusTimeLines;

            return(report);
        }
コード例 #2
0
ファイル: ReportService.cs プロジェクト: DilshanMeegoda/MIT
        public async Task <HttpResponseMessage> PostReport(ReportDataDto reportDataDto)
        {
            var json = JsonConvert.SerializeObject(reportDataDto, Formatting.Indented);

            var byteContent = new ByteArrayContent(Encoding.UTF8.GetBytes(json));

            byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            return(Client.PostAsync("PostReportData", byteContent).Result);
        }
コード例 #3
0
        /// <summary>
        /// Generates a report
        /// </summary>
        /// <param name="dto">report definition</param>
        /// <returns>list of data</returns>
        public async Task <ReportDataDto <object>?> GenerateReport(ReportDto dto)
        {
            var reportSource = await db.ReportSources.FirstOrDefaultAsync(w => w.ReportSourceId == dto.ReportSourceId);

            if (reportSource == null)
            {
                return(null);
            }
            var report = new ReportDataDto <object>();

            //var columns = await GetReportSourceColumns(reportSource);
            //report.RemovedColumns = CheckColumns(dto, columns);
            if (dto.Columns.Count == 0)
            {
                return(report);
            }

            var query = new SqlKata.Query(reportSource.SQLName)
            {
                IsDistinct = true
            };

            SelectClause(query, dto);
            GroupByClause(query, dto);
            OrderByClause(query, dto);
            var compiler = new SqlServerCompiler();
            var result   = compiler.Compile(query);

            using var cmd = (SqlCommand)db.Database.GetDbConnection().CreateCommand();
            var isOpen = cmd.Connection.State == ConnectionState.Open;

            if (!isOpen)
            {
                await cmd.Connection.OpenAsync();
            }

            cmd.CommandText = result.RawSql;
            var adapter = new SqlDataAdapter();

            adapter.SelectCommand = cmd;
            var dataSet = new DataSet();

            adapter.Fill(dataSet);

            if (!isOpen)
            {
                await cmd.Connection.CloseAsync();
            }

            report.Data = dataSet.Tables[0].ToList().ToList();

            return(report);
        }
コード例 #4
0
        private async Task GenerateReport()
        {
            if (!editContext.Validate())
            {
                return;
            }

            DataDto = await anonymousClient.GenerateReport(Dto);

            var parameters = new Blazored.Modal.ModalParameters();

            parameters.Add(nameof(ShowReport.DataDtos), DataDto);
            parameters.Add(nameof(ShowReport.Dto), Dto);
            var modalReference = ModalService.Show <ShowReport>(Dto.Name, parameters, new ModalOptions()
            {
            });
            var modalResult = await modalReference.Result;
        }
コード例 #5
0
        private async void SaveReport(ReportStatus status, string note)
        {
            ReportDataDto reportDataDto = GetReportDataDto(m_reportData);
            var           statusObject  = TimeLineObjectCreator(status, note);

            reportDataDto.ItemDtos        = reportDataDto.ItemDtos ?? new List <ItemDto>();
            reportDataDto.StatusTimeLines = new List <StatusTimeLineDto> {
                statusObject
            };

            if (Utility.IsInternetAvailable(Application.Context))
            {
                reportDataDto.NotSynced = false;

                if (status == ReportStatus.ArchivedAsAccepted)
                {
                    reportDataDto.ReportStatus = status;
                    reportDataDto.IsArchived   = true;
                }
                else if (status == ReportStatus.Rejected)
                {
                    reportDataDto.ReportStatus = status;
                }

                try
                {
                    reportService = new ReportService(userSession.AccessToken);
                    await reportService.PostReport(reportDataDto);

                    if (type == "accept")
                    {
                        Utility.DisplayToast(Application.Context, "Report has been Accepted");
                    }
                    else if (type == "decline")
                    {
                        Utility.DisplayToast(Application.Context, "Report has been Declined");
                    }
                    sharedPreferences.Edit().PutBoolean(Resources.GetString(Resource.String.IsReportUpdate), false).Commit();
                    sharedPreferencesEditor.PutBoolean("BackPressed", false);
                    sharedPreferencesEditor.Commit();
                    Activity.Finish();
                }
                catch (CustomHttpResponseException customHttpResponseException)
                {
                    if (customHttpResponseException.StatusCode == HttpStatusCode.Unauthorized)
                    {
                        Log.Error("Authentication Exception - VerifyReportFragment", customHttpResponseException.ToString());
                        Activity.Finish();
                        Activity.StartActivity(typeof(LoginActivity));
                    }
                    else
                    {
                        Log.Error(customHttpResponseException.StatusCode + " - VerifyReportFragment", customHttpResponseException.ToString());
                        Utility.DisplayToast(Application.Context, "Error : " + customHttpResponseException.StatusCode + "\nAn error occurred while connecting to the application server");
                    }
                }
            }
            else
            {
                Utility.DisplayToast(Application.Context, Resources.GetString(Resource.String.no_internet_message));
            }
        }
コード例 #6
0
 public DtoToDataWrapper(ReportDataDto reportWithData)
 {
     guestObject = reportWithData;
 }