Example #1
0
        public DataTable GetExportVerify(ExportVerifySearchFilter searchFilter)
        {
            _reportDataAccess = new ReportDataAccess(_context);
            IList <ExportVerifyEntity> exportVerify = _reportDataAccess.GetExportVerify(searchFilter);
            DataTable dt = DataTableHelpers.ConvertTo(exportVerify);

            return(dt);
        }
Example #2
0
        public IList <ExportVerifyEntity> GetExportVerify(ExportVerifySearchFilter searchFilter)
        {
            int?   productGroupId = searchFilter.ProductGroup.ToNullable <int>();
            int?   productId      = searchFilter.Product.ToNullable <int>();
            int?   campaignId     = searchFilter.Campaign.ToNullable <int>();
            int?   typeId         = searchFilter.Type.ToNullable <int>();
            int?   areaId         = searchFilter.Area.ToNullable <int>();
            int?   subareaId      = searchFilter.SubArea.ToNullable <int>();
            int?   ownerId        = searchFilter.OwnerSR.ToNullable <int>();
            int?   ownerbranchId  = searchFilter.OwnerBranch.ToNullable <int>();
            string selectAllValue = Constants.ApplicationStatus.All.ConvertToString();

            DateTime?srMinDate = null;
            DateTime?srMaxDate = null;

            if (searchFilter.SRDateTimeFromValue.HasValue && searchFilter.SRDateTimeToValue.HasValue)
            {
                srMinDate = searchFilter.SRDateTimeFromValue.Value;
                srMaxDate = searchFilter.SRDateTimeToValue.Value;
            }
            else
            {
                int?monthOfReportExport =
                    _context.TB_C_PARAMETER.Where(x => x.PARAMETER_NAME == Constants.ParameterName.ReportExportDate)
                    .FirstOrDefault().PARAMETER_VALUE.ToNullable <int>();

                srMinDate = DateTime.Now.Date.AddMonths(monthOfReportExport.Value * -1);
                srMaxDate = DateTime.Now.Date.AddDays(1);
            }

            var query = (from sr in _context.TB_T_SR.AsNoTracking()
                         join cs in _context.TB_M_CUSTOMER on sr.CUSTOMER_ID equals cs.CUSTOMER_ID
                         join ac in _context.TB_M_ACCOUNT on sr.ACCOUNT_ID equals ac.ACCOUNT_ID
                         join pg in _context.TB_R_PRODUCTGROUP on sr.PRODUCTGROUP_ID equals pg.PRODUCTGROUP_ID
                         join pr in _context.TB_R_PRODUCT on sr.PRODUCT_ID equals pr.PRODUCT_ID
                         join cp in _context.TB_R_CAMPAIGNSERVICE on sr.CAMPAIGNSERVICE_ID equals cp.CAMPAIGNSERVICE_ID
                         join ty in _context.TB_M_TYPE on sr.TYPE_ID equals ty.TYPE_ID
                         join ar in _context.TB_M_AREA on sr.AREA_ID equals ar.AREA_ID
                         join sb in _context.TB_M_SUBAREA on sr.SUBAREA_ID equals sb.SUBAREA_ID
                         join st in _context.TB_C_SR_STATUS on sr.SR_STATUS_ID equals st.SR_STATUS_ID

                         from ou in _context.TB_R_USER.Where(c => c.USER_ID == sr.OWNER_USER_ID).DefaultIfEmpty()
                         from ob in _context.TB_R_BRANCH.Where(c => c.BRANCH_ID == sr.OWNER_BRANCH_ID).DefaultIfEmpty()
                         from cb in _context.TB_R_BRANCH.Where(c => c.BRANCH_ID == sr.CREATE_BRANCH_ID).DefaultIfEmpty()


                         where (productGroupId == null || pg.PRODUCTGROUP_ID == productGroupId) &&
                         (productId == null || pr.PRODUCT_ID == productId) &&
                         (campaignId == null || cp.CAMPAIGNSERVICE_ID == campaignId) &&
                         (typeId == null || ty.TYPE_ID == typeId) &&
                         (areaId == null || ar.AREA_ID == areaId) &&
                         (subareaId == null || sb.SUBAREA_ID == subareaId) &&
                         (ownerId == null || ou.USER_ID == ownerId) &&
                         (ownerbranchId == null || sr.OWNER_BRANCH_ID == ownerbranchId) &&
                         (string.IsNullOrEmpty(searchFilter.SRId) || sr.SR_NO.Contains(searchFilter.SRId)) &&
                         (string.IsNullOrEmpty(searchFilter.SRIsverify) || selectAllValue == searchFilter.SRIsverify || sr.SR_IS_VERIFY_PASS == searchFilter.SRIsverify) &&
                         (sr.CREATE_DATE >= srMinDate) &&
                         (sr.CREATE_DATE <= srMaxDate) &&
                         (sr.SR_IS_VERIFY == true) &&
                         (string.IsNullOrEmpty(searchFilter.Description) || sr.SR_REMARK.Contains(searchFilter.Description)) &&
                         (string.IsNullOrEmpty(searchFilter.SRId) || sr.SR_NO == searchFilter.SRId)
                         select new ExportVerifyEntity
            {
                SRId = sr.SR_NO,
                AccountNo = ac.ACCOUNT_NO,
                CustomerFistname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.FIRST_NAME_TH : cs.FIRST_NAME_EN,
                CustomerLastname = !string.IsNullOrEmpty(cs.FIRST_NAME_TH) ? cs.LAST_NAME_TH : cs.LAST_NAME_EN,
                ProductGroupName = pg.PRODUCTGROUP_NAME,
                SROwnerName = ou.POSITION_CODE + "-" + ou.FIRST_NAME + " " + ou.LAST_NAME,
                SRCreateDate = sr.CREATE_DATE,
                SRCreatorBranch = cb.BRANCH_NAME,
                ProductName = pr.PRODUCT_NAME,
                CampaignServiceName = cp.CAMPAIGNSERVICE_NAME,
                TypeName = ty.TYPE_NAME,
                AreaName = ar.AREA_NAME,
                SubAreaName = sb.SUBAREA_NAME,
                SRSubject = sr.SR_SUBJECT,
                SRDescription = sr.SR_REMARK,
                SRStatus = st.SR_STATUS_NAME,
                IsVerifyResult = sr.SR_IS_VERIFY_PASS,
                TotalQuestion = (from Question in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID) select Question).Count(),
                TotalPass = (from Pass in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID && c.RESULT == Constants.VerifyResultStatus.Pass) select Pass).Count(),
                TotalFailed = (from Failed in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID && c.RESULT == Constants.VerifyResultStatus.Fail) select Failed).Count(),
                TotalDisregard = (from Disregard in _context.TB_T_SR_VERIFY_RESULT_QUESTION.Where(c => c.TB_T_SR_VERIFY_RESULT_GROUP.SR_ID == sr.SR_ID && c.RESULT == Constants.VerifyResultStatus.Skip) select Disregard).Count()
            });

            return(query.ToList());
        }
Example #3
0
        public byte[] CreateReportVerify(IList <ExportVerifyEntity> vfList, ExportVerifySearchFilter searchFilter)
        {
            try
            {
                StringBuilder sb = new StringBuilder();
                List <string> search_criteria = new List <string>();

                if (!string.IsNullOrWhiteSpace(searchFilter.ProductGroup))
                {
                    search_criteria.Add(SetReportData("ProductGroup:" + searchFilter.ProductGroupName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Product))
                {
                    search_criteria.Add(SetReportData("Product:" + searchFilter.ProductName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Campaign))
                {
                    search_criteria.Add(SetReportData("Campaign/Service:" + searchFilter.CampaignName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Type))
                {
                    search_criteria.Add(SetReportData("Type:" + searchFilter.TypeName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Area))
                {
                    search_criteria.Add(SetReportData("Area:" + searchFilter.AreaName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SubArea))
                {
                    search_criteria.Add(SetReportData("Sub Area:" + searchFilter.SubAreaName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.OwnerBranch))
                {
                    search_criteria.Add(SetReportData("Owner Branch:" + searchFilter.OwnerBranchName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.OwnerSR))
                {
                    search_criteria.Add(SetReportData("Owner SR:" + searchFilter.OwnerSRName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRId))
                {
                    search_criteria.Add(SetReportData("SR ID:" + searchFilter.SRId));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRIsverify))
                {
                    search_criteria.Add(SetReportData("Verify Result:" + searchFilter.SRIsverifyName));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.Description))
                {
                    search_criteria.Add(SetReportData("Description:" + searchFilter.Description));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRDateFrom))
                {
                    search_criteria.Add(SetReportData("SR Created Date From:" + searchFilter.SRDateFrom));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRDateTo))
                {
                    search_criteria.Add(SetReportData("SR Created Date To:" + searchFilter.SRDateTo));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeFrom))
                {
                    search_criteria.Add(SetReportData("SR Created Time From:" + searchFilter.SRTimeFrom));
                }
                if (!string.IsNullOrWhiteSpace(searchFilter.SRTimeTo))
                {
                    search_criteria.Add(SetReportData("SR Created Time To:" + searchFilter.SRTimeTo));
                }

                sb.AppendLine(string.Join(",", search_criteria));
                sb.AppendLine("");

                string[] headers = new string[]
                {
                    SetReportData("No"),
                    SetReportData("SR ID"),
                    SetReportData("เลขที่สัญญา / เลขที่บัญชีชื่อลูกค้า"),
                    SetReportData("ชื่อลูกค้า"),
                    SetReportData("นามสกุลลูกค้า"),
                    SetReportData("SR Owner"),
                    SetReportData("SR Created Date Time"),
                    SetReportData("SR Creator Branch"),
                    SetReportData("Product Group"),
                    SetReportData("Product"),

                    SetReportData("Campaign/Service"),
                    SetReportData("Type"),
                    SetReportData("Area"),
                    SetReportData("Sub-Area"),
                    SetReportData("Subject"),
                    SetReportData("SR Description"),
                    SetReportData("SR Status"),
                    SetReportData("Verify Result"),
                    SetReportData("Total Question"),
                    SetReportData("Total Passed"),

                    SetReportData("Total Failed"),
                    SetReportData("Total disregarded")
                };
                sb.AppendLine(string.Join(",", headers));

                int i = 0;
                foreach (var item in vfList)
                {
                    i += 1;
                    string[] fields = new string[]
                    {
                        SetReportData(i.ToString()),
                        SetReportData(addSingleQuote(item.SRId)),
                        SetReportData(addSingleQuote(item.AccountNo)),
                        SetReportData(item.CustomerFistname),
                        SetReportData(item.CustomerLastname),
                        SetReportData(item.SROwnerName),
                        SetReportData(item.SRCreateDateDisplay),
                        SetReportData(item.SRCreatorBranch),
                        SetReportData(item.ProductGroupName),
                        SetReportData(item.ProductName),

                        SetReportData(item.CampaignServiceName),
                        SetReportData(item.TypeName),
                        SetReportData(item.AreaName),
                        SetReportData(item.SubAreaName),
                        SetReportData(ReplaceHTML(item.SRSubject)),
                        SetReportData(ReplaceHTML(item.SRDescDisplay)),
                        SetReportData(item.SRStatus),
                        SetReportData(item.IsVerifyResultDisplay),
                        SetReportData(item.TotalQuestion.ToString()),
                        SetReportData(item.TotalPass.ToString()),

                        SetReportData(item.TotalFailed.ToString()),
                        SetReportData(item.TotalDisregard.ToString())
                    };
                    sb.AppendLine(string.Join(",", fields));
                }

                return(Encoding.GetEncoding(874).GetBytes(sb.ToString()));
            }
            catch
            {
                throw;
            }
        }
Example #4
0
        //public DataTable GetExportVerify(ExportVerifySearchFilter searchFilter)
        //{
        //    _reportDataAccess = new ReportDataAccess(_context);
        //    IList<ExportVerifyEntity> exportVerify = _reportDataAccess.GetExportVerify(searchFilter);
        //    DataTable dt = DataTableHelpers.ConvertTo(exportVerify);
        //    return dt;
        //}

        public IList <ExportVerifyEntity> GetExportVerify(ExportVerifySearchFilter searchFilter)
        {
            _reportDataAccess = new ReportDataAccess(_context);
            return(_reportDataAccess.GetExportVerify(searchFilter));
        }