[HttpGet, Route("internalCurrentReportForDow"), AllowAnonymous]//AmigoTenantClaimsAuthorize(ActionCode = ConstantsSecurity.ActionCode.WeeklyReportSearch)
        public HttpResponseMessage SearchInternalCurrentReportForDow([FromUri] ReportCurrentRequest search)
        {
            var    response       = Request.CreateResponse();
            string type           = "internalCurrentReport";
            bool   isExportForDow = true;

            response.Content = new PushStreamContent((outputStream, httpContent, transportContext)
                                                     => _reportService.ProccessExcelToCurrent(outputStream, httpContent, transportContext, search, type, isExportForDow), new MediaTypeHeaderValue("text/csv"));
            response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
            {
                FileName        = "_ReportForDow.csv",
                DispositionType = "inline"
            };
            return(response);
        }
        public async Task <ResponseDTO <PagedList <InternalReportDTO> > > SearchInternalCurrent([FromUri] ReportCurrentRequest search)
        {
            var resp = await _reportService.SearchInternalCurrentAsync(search);

            return(resp);
        }
Exemplo n.º 3
0
        public async Task <ResponseDTO <PagedList <InternalReportDTO> > > SearchInternalCurrentAsync(ReportCurrentRequest search)
        {
            var queryFilter = GetQueryFilter(search);

            var eventLogs = await _reportDataAccess.ListPagedAsync(queryFilter, search.Page, search.PageSize);

            eventLogs.Items.ToList().ForEach(x =>
            {
                x.Status           = (x.ServiceFinishDate == null) ? Constants.ServiceStatus.Ongoing : Constants.ServiceStatus.Done;
                x.IsHazardousLabel = (string.IsNullOrEmpty(x.IsHazardous) || x.IsHazardous == "0") ? Constants.YesNo.No : Constants.YesNo.Yes;
                int?approvalStatus = null;
                if (x.ServiceStatus.HasValue && x.ServiceStatus.Value)
                {
                    approvalStatus = 1;
                }
                if (x.ServiceStatus.HasValue && !x.ServiceStatus.Value)
                {
                    approvalStatus = 0;
                }
                x.ApprovalStatus       = Constants.ApprovalStatus.FirstOrDefault(y => y.Item1 == approvalStatus).Item2;
                x.ServiceStartDayName  = x.ServiceStartDate?.DateTime.ToString("dddd") ?? "";
                x.ServiceFinishDayName = x.ServiceFinishDate?.DateTime.ToString("dddd") ?? "";
                x.ServiceTotalHours    = GetServiceTotalHours(x.ServiceStartDate, x.ServiceFinishDate);
            });

            var pagedResult = new PagedList <InternalReportDTO>()
            {
                Items    = eventLogs.Items,
                PageSize = eventLogs.PageSize,
                Page     = eventLogs.Page,
                Total    = eventLogs.Total
            };

            return(ResponseBuilder.Correct(pagedResult));
        }
Exemplo n.º 4
0
        public async void ProccessExcelToCurrent(Stream outputStream, HttpContent httpContent, TransportContext transportContext, ReportCurrentRequest search, string type, bool isExportForDow)
        {
            if (type == "internalCurrentReport")
            {
                var listIC = await SearchInternalCurrentAsync(search);

                GetStreamToInternalReport(outputStream, listIC.Data.Items, type, isExportForDow);
            }
            else if (type == "externalCurrentReport")
            {
                var listEH = await SearchExternalCurrentAsync(search);

                GetStreamToExternalReport(outputStream, listEH.Data.Items, type);
            }
        }
Exemplo n.º 5
0
        private Expression <Func <InternalReportDTO, bool> > GetQueryFilter(ReportCurrentRequest search)
        {
            Expression <Func <InternalReportDTO, bool> > queryFilter = p => p.ServiceStartDate != null && p.ServiceFinishDate == null;

            if (search.AmigoTenantTUserId != null)
            {
                queryFilter = queryFilter.And(p => p.AmigoTenantTUserId == search.AmigoTenantTUserId);
            }

            if (!string.IsNullOrEmpty(search.ServiceCode))
            {
                queryFilter = queryFilter.And(p => p.ServiceCode == search.ServiceCode);
            }

            if (!string.IsNullOrEmpty(search.EquipmentNumber))
            {
                queryFilter = queryFilter.And(p => p.EquipmentNumber.Contains(search.EquipmentNumber));
            }

            if (!string.IsNullOrEmpty(search.EquipmentSizeCode))
            {
                queryFilter = queryFilter.And(p => p.EquipmentSizeCode == search.EquipmentSizeCode);
            }

            if (!string.IsNullOrEmpty(search.EquipmentTypeCode))
            {
                queryFilter = queryFilter.And(p => p.EquipmentTypeCode == search.EquipmentTypeCode);
            }

            if (!string.IsNullOrEmpty(search.Approver))
            {
                queryFilter = queryFilter.And(p => p.Approver.Contains(search.Approver));
            }


            if (!string.IsNullOrEmpty(search.ChargeNumber))
            {
                queryFilter = queryFilter.And(p => p.ChargeNo.Contains(search.ChargeNumber.Trim()));
            }

            if (!string.IsNullOrEmpty(search.OriginBlockCode))
            {
                queryFilter = queryFilter.And(p => p.OriginBlockCode == search.OriginBlockCode);
            }

            if (!string.IsNullOrEmpty(search.DestinationBlockCode))
            {
                queryFilter = queryFilter.And(p => p.DestinationBlockCode == search.DestinationBlockCode);
            }

            if (search.EquipmentStatusId.HasValue && search.EquipmentStatusId.Value > 0)
            {
                queryFilter = queryFilter.And(p => p.EquipmentStatusId == search.EquipmentStatusId);
            }

            if (search.ServiceStatus != -1)
            {
                if (search.ServiceStatus == 0)
                {
                    queryFilter = queryFilter.And(p => p.ServiceStatus == false);
                }
                else if (search.ServiceStatus == 1)
                {
                    queryFilter = queryFilter.And(p => p.ServiceStatus == true);
                }
                else if (search.ServiceStatus == 2)
                {
                    queryFilter = queryFilter.And(p => p.ServiceStatus == null);
                }
            }

            if (search.ProductId != null)
            {
                queryFilter = queryFilter.And(p => p.ProductId == search.ProductId);
            }

            return(queryFilter);
        }
Exemplo n.º 6
0
        public async Task <ResponseDTO <PagedList <ExternalReportDTO> > > SearchExternalCurrentAsync(ReportCurrentRequest search)
        {
            var services = await SearchInternalCurrentAsync(search);

            var pagedResult = new PagedList <ExternalReportDTO>()
            {
                Items = services.Data.Items.Select(x => new ExternalReportDTO
                {
                    AmigoTenantTUserId   = x.AmigoTenantTUserId,
                    Username             = x.Username,
                    Drivername           = x.Drivername,
                    Status               = x.Status,
                    EquipmentNumber      = x.EquipmentNumber,
                    EquipmentSizeCode    = x.EquipmentSizeCode,
                    EquipmentSize        = x.EquipmentSize,
                    EquipmentTypeCode    = x.EquipmentTypeCode,
                    EquipmentType        = x.EquipmentType,
                    ServiceCode          = x.ServiceCode,
                    Service              = x.Service,
                    Product              = x.Product,
                    IsHazardousLabel     = x.IsHazardousLabel,
                    ChargeNo             = x.ChargeNo,
                    OriginBlockCode      = x.OriginBlockCode,
                    OriginBlock          = x.OriginBlock,
                    DestinationBlockCode = x.DestinationBlockCode,
                    DestinationBlock     = x.DestinationBlock,
                    Approver             = x.Approver,
                    ServiceStatus        = x.ServiceStatus,
                    ApprovalStatus       = x.ApprovalStatus,
                    DispatchingParty     = x.DispatchingParty,
                    ServiceStartDate     = x.ServiceStartDate,
                    ServiceStartDayName  = x.ServiceStartDayName,
                    ServiceFinishDate    = x.ServiceFinishDate,
                    ServiceFinishDayName = x.ServiceFinishDayName,
                    ServiceTotalHours    = x.ServiceTotalHours,
                    CustomerBill         = x.CustomerBill,
                    EquipmentStatusName  = x.EquipmentStatusName,
                    DriverComments       = x.DriverComments,
                    ChassisNo            = x.ChassisNo
                }).ToList(),
                PageSize = services.Data.PageSize,
                Page     = services.Data.Page,
                Total    = services.Data.Total
            };

            return(ResponseBuilder.Correct(pagedResult));
        }