Beispiel #1
0
        public void GetInternalEmiInvoiceReport(int internal_requisition_master_id, int user_id)
        {
            try
            {
                var    wbClient       = new WebClient();
                string downloadString = CoreRules.httpRequest() + "InternalEmiRequisition/GetInternalEmiInvoiceReport?internal_requisition_master_id=" + internal_requisition_master_id + "&user_id=" + user_id;
                var    apidata        = wbClient.DownloadString(downloadString);
                InternalEmiCombinedInvoiceReportModel oDeliAndDis = JsonConvert.DeserializeObject <InternalEmiCombinedInvoiceReportModel>(apidata);
                DataTable dt1 = ToDataTable(oDeliAndDis.InternalInvoiceReportModel);


                using (var reportDocument = new ReportDocument())
                {
                    reportDocument.Load(Server.MapPath("~/Reports/crystal_view/InternalEmiInvoiceReportData.rpt"));
                    reportDocument.SetDataSource(oDeliAndDis.InternalInvoiceReportModel);

                    if (oDeliAndDis.InstallmentDetailsModel.Count > 0)
                    {
                        reportDocument.OpenSubreport("installmentDetailsSubRpt").SetDataSource(oDeliAndDis.InstallmentDetailsModel);
                    }
                    else
                    {
                        reportDocument.OpenSubreport("installmentDetailsSubRpt").SetDataSource(dt1); //if assign list and list is empty then it showing error
                    }

                    reportDocument.ExportToHttpResponse(ExportFormatType.PortableDocFormat, System.Web.HttpContext.Current.Response, false, "Invoice_" + DateTime.Now.ToString("dd-MM-yyyy_hh-mm_tt"));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public object GetInternalEmiInvoiceReport(long internal_requisition_master_id, long user_id)
        {
            try
            {
                string query1 =
                    "select distinct oim.invoice_no ,oid.is_gift ,oim.invoice_date ,users.full_name ,cus.customar_name ,cus.mobile_no ,cus.internal_requisition_no ,cus.requisition_date as requisition_code ,cus.payment_type ,sbu.sbu_name as department_name ,product.product_name ,product_category.product_category_name ,color.color_name ,unit.unit_name ,brand.brand_name ,oid.quantity ,oid.price ,oid.line_total from invoice_master oim inner join invoice_details oid on oim.invoice_master_id=oid.invoice_master_id inner join internal_requisition_master cus on oim.requisition_master_id=cus.internal_requisition_master_id inner join product on oid.product_id=product.product_id inner join product_category on product.product_category_id=product_category.product_category_id left join product_version on oid.product_version_id=product_version.product_version_id left join color on oid.color_id=color.color_id left join unit on oid.unit_id=unit.unit_id left join brand on oid.brand_id=brand.brand_id inner join sbu on cus.to_department=sbu.sbu_id left join users on oim.created_by=users.user_id where oim.requisition_master_id=" + internal_requisition_master_id;

                var invoieData = _entities.Database.SqlQuery <InternalInvoiceReportModel>(query1).ToList();
                var list1      = new List <InternalInvoiceReportModel>(invoieData);

                string query2          = "select * from installment_details where installment_details.internal_requisition_master_id=" + internal_requisition_master_id + "";
                var    installmentData = _entities.Database.SqlQuery <InstallmentDetailsModel>(query2);
                var    list2           = new List <InstallmentDetailsModel>(installmentData);

                var internalEmiCombined = new InternalEmiCombinedInvoiceReportModel();
                internalEmiCombined.InternalInvoiceReportModel = list1;
                internalEmiCombined.InstallmentDetailsModel    = list2;
                return(internalEmiCombined);
            }
            catch (Exception)
            {
                return(null);
            }
        }