Esempio n. 1
0
        public ActionResult exportToExcelRightsSellingList(RightsSellingSearchModel _mobjOtherContract)
        {
            try
            {
                List <RightsSellingSearchModel> _mobjReportList     = new List <RightsSellingSearchModel>();
                RightsSellingSearchModel        _mobjParametertList = new RightsSellingSearchModel();

                _mobjReportList     = GetRightsSellingExcelList(_mobjOtherContract.SessionId).ToList();
                _mobjParametertList = GetRightsSellingExcelParameterList(_mobjOtherContract.SessionId);



                string sFileName = "RightsSelling_" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".xls";
                {
                    StringBuilder mstr_searchparameter = new StringBuilder();
                    mstr_searchparameter.Append("<table width='100%'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td  style='width: 100%;' align='left' valign='top'>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td style='width: 100%;' valign='top' align=center colspan='2'>" + "<b>Rights Selling Report</b>" + "</td>");
                    mstr_searchparameter.Append("</tr>");

                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td  style='width: 50%;' valign='top' align=left >" + "<b>Number of Records:</b> " + _mobjReportList.Count() + "</td>");
                    mstr_searchparameter.Append("<td  style='width: 50%;' valign='top' align=right >" + "<b>Report Created Date:</b> " + String.Format("{0:dd MMM yy HH:mm:ss}", DateTime.Now) + "</td>");
                    mstr_searchparameter.Append("</tr>");
                    if (!String.IsNullOrEmpty(_mobjParametertList.ReturnList))
                    {
                        mstr_searchparameter.Append("<tr>");
                        mstr_searchparameter.Append("<td colspan='2' style='width: 100%;' valign='top' align=left>" + "<b>" + "Search criteria:-" + "</b>" + _mobjParametertList.ReturnList + "</td>");
                        mstr_searchparameter.Append("</tr>");
                    }
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td style='width: 100%;' valign='top' align=center colspan='2'></td>");
                    mstr_searchparameter.Append("</tr>");

                    mstr_searchparameter.Append("</table>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td colspan='2'>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td><b>SNo.</b></td>");
                    mstr_searchparameter.Append("<td ><b>Right Sales Code</b></td>");

                    mstr_searchparameter.Append("<td ><b>Product Code</b></td>");

                    mstr_searchparameter.Append("<td ><b>ISBN</b></td>");
                    mstr_searchparameter.Append("<td ><b>Working Product</b></td>");


                    mstr_searchparameter.Append("<td ><b>Author Name</b></td>");

                    mstr_searchparameter.Append("<td ><b>Contract Code</b></td>");

                    mstr_searchparameter.Append("<td ><b>Product License Code</b></td>");
                    mstr_searchparameter.Append("<td><b>Requested Date</b></td>");
                    mstr_searchparameter.Append("<td><b>Contract Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Date of Expiry</b></td>");
                    mstr_searchparameter.Append("<td ><b>Licensee Name</b></td>");

                    mstr_searchparameter.Append("<td ><b>Licensee Code </b></td>");

                    mstr_searchparameter.Append("<td ><b>Contact Person </b></td>");
                    mstr_searchparameter.Append("<td ><b>Address </b></td>");
                    mstr_searchparameter.Append("<td ><b>Country </b></td>");
                    mstr_searchparameter.Append("<td ><b>State </b></td>");
                    mstr_searchparameter.Append("<td ><b>City </b></td>");
                    mstr_searchparameter.Append("<td ><b>PIN Code </b></td>");
                    mstr_searchparameter.Append("<td ><b>Mobile </b></td>");
                    mstr_searchparameter.Append("<td ><b>Email </b></td>");
                    mstr_searchparameter.Append("<td ><b>URL </b></td>");
                    mstr_searchparameter.Append("<td ><b> Request Date </b></td>");
                    mstr_searchparameter.Append("<td ><b>Will Be Material Be Translated </b></td>");
                    mstr_searchparameter.Append("<td ><b>Language </b></td>");
                    mstr_searchparameter.Append("<td ><b> Print Run Quantity Allowed </b></td>");
                    mstr_searchparameter.Append("<td ><b>Number of Impression </b></td>");
                    mstr_searchparameter.Append("<td ><b>Advance Payment </b></td>");
                    mstr_searchparameter.Append("<td ><b>Currency </b></td>");
                    mstr_searchparameter.Append("<td ><b>Payment Term </b></td>");
                    mstr_searchparameter.Append("<td ><b>Payment Amount </b></td>");
                    mstr_searchparameter.Append("<td ><b>Territory  </b></td>");
                    mstr_searchparameter.Append("<td ><b> Advance Royalty Amount</b></td>");
                    mstr_searchparameter.Append("<td ><b> Royalty Recurring</b></td>");
                    mstr_searchparameter.Append("<td ><b>Recurring From Period </b></td>");
                    mstr_searchparameter.Append("<td ><b>Recurring To Period </b></td>");
                    mstr_searchparameter.Append("<td ><b> Status</b></td>");
                    mstr_searchparameter.Append("<td ><b> Remarks</b></td>");
                    mstr_searchparameter.Append("<td ><b>Royalty Type </b></td>");
                    mstr_searchparameter.Append("<td ><b> Frequency</b></td>");


                    mstr_searchparameter.Append("<td ><b>Contract Status </b></td>");
                    mstr_searchparameter.Append("<td ><b>Date of Agreement </b></td>");
                    mstr_searchparameter.Append("<td ><b>Signed Contract Sent Date </b></td>");
                    mstr_searchparameter.Append("<td ><b>Signed Contract Received Date </b></td>");
                    mstr_searchparameter.Append("<td ><b>Cancellation Date </b></td>");
                    mstr_searchparameter.Append("<td ><b>Cancellation Reason </b></td>");
                    mstr_searchparameter.Append("<td ><b>Contributor Agreement </b></td>");
                    mstr_searchparameter.Append("<td ><b>Pending Remarks </b></td>");
                    mstr_searchparameter.Append("<td ><b>Effective Date </b></td>");
                    mstr_searchparameter.Append("<td ><b>Contract Period In Month </b></td>");

                    List <string> typename        = new List <string>();
                    int           typenamecounter = 0;
                    if (_mobjReportList.Count > 0)
                    {
                        for (int i = 0; i < _mobjReportList.Count; i++)
                        {
                            if (_mobjReportList[i].RoyaltySlab != null)
                            {
                                string[] slab = _mobjReportList[i].RoyaltySlab.Split(',');
                                foreach (string s in slab)
                                {
                                    string[] slabvalue = s.Split('#');
                                    for (int k = 0; k < slabvalue.Length; k++)
                                    {
                                        if (k % 2 == 0)
                                        {
                                            typename.Add(slabvalue[k].ToString());
                                            typenamecounter++;
                                        }
                                    }
                                }
                            }
                        }
                    }

                    List <string> distincttypename = typename.Distinct().ToList();
                    if (distincttypename.Count > 0)
                    {
                        foreach (string Typenames in distincttypename)
                        {
                            mstr_searchparameter.Append("<td ><b>" + Typenames.ToUpper() + " </b></td>");
                        }
                    }

                    mstr_searchparameter.Append("</tr>");
                    mstr_searchparameter.Append("</td>");
                    int mint_Counter = 1;
                    int Count_value  = 0;
                    foreach (RightsSellingSearchModel data in _mobjReportList)
                    {
                        mstr_searchparameter.Append("<tr>");
                        mstr_searchparameter.Append("<td align='right'>" + mint_Counter + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.RightsSellingCode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.ProductCode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + (data.ISBN == null || data.ISBN == "" ? "" : Convert.ToString("&nbsp;" + data.ISBN)) + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.WorkingProduct + "<br />" + "<span style='font-size:11px;'>" + data.WorkingSubProduct + "</span>" + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AuthorName + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AuthorContractCode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.ProductLicensecode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.RequestDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.DateContract + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.DateExpiry + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.OrganizationName + "</td>");

                        mstr_searchparameter.Append("<td align='left'>" + data.Licenseecode + "</td>");

                        mstr_searchparameter.Append("<td align='left'>" + data.ContactPerson + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Address + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Country + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.State + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.City + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Pincode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.LicenseeMobile + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Email + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.URL + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.RequestDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Will_be_material_be_translated + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Language + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Print_Run_Quantity_Allowed + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Number_of_Impression_Allowed + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Advance_Payment + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.CurrencyName + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Payment_Term + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Payment_Amount + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.TerritoryRights + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Advance_Royalty_Amount + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Royalty_Recurring + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Recurring_From_Period + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Recurring_To_Period + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Status + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Remarks + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.RoyaltyType + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Frequency + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + (data.ContractStatus == "Pending" ? "Issued" : (data.ContractStatus == "Issued" ? "Received" : data.ContractStatus)) + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Date_of_agreement + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Signed_Contract_sent_date + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Signed_Contract_receiveddate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.CancellationDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Cancellation_Reason + "</td>");



                        mstr_searchparameter.Append("<td align='left'>" + data.Contributor_Agreement + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Pending_Remarks + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Effectivedate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Contractperiodinmonth + "</td>");

                        //if (_mobjReporRoyaltytList.Count > 0)
                        //{
                        //    for (int j = 0; j < distincttypename.Count; j++)
                        //    {
                        //        string slabdata = "";
                        //        if (_mobjReporRoyaltytList[Count_value].RoyaltySlab != null)
                        //        {
                        //            string[] slab = _mobjReporRoyaltytList[Count_value].RoyaltySlab.Split(',');
                        //            foreach (string s in slab)
                        //            {
                        //                string[] slabvalue = s.Split('#');

                        //                for (int k = 0; k < slabvalue.Length; k = k + 2)
                        //                {
                        //                    if (slabvalue[k].ToString() == distincttypename[j].ToString())
                        //                        slabdata += slabvalue[k + 1].ToString() + ", ";

                        //                }
                        //            }
                        //            if (slabdata.Length > 0)
                        //                slabdata = slabdata.Substring(0, slabdata.Length - 2);
                        //            mstr_searchparameter.Append("<td align='left'>" + slabdata + "</td>");
                        //        }
                        //        else
                        //            mstr_searchparameter.Append("<td align='left'></td>");
                        //    }

                        //}


                        if (distincttypename.Count > 0)
                        {
                            for (int j = 0; j < distincttypename.Count; j++)
                            {
                                string slabdata = "";
                                if (_mobjReportList[Count_value].RoyaltySlab != null)
                                {
                                    string[] slab = _mobjReportList[Count_value].RoyaltySlab.Split(',');
                                    foreach (string s in slab)
                                    {
                                        string[] slabvalue = s.Split('#');

                                        for (int k = 0; k < slabvalue.Length; k = k + 2)
                                        {
                                            if (slabvalue[k].ToString() == distincttypename[j].ToString())
                                            {
                                                slabdata += slabvalue[k + 1].ToString() + ", ";
                                            }
                                        }
                                    }
                                    if (slabdata.Length > 0)
                                    {
                                        slabdata = slabdata.Substring(0, slabdata.Length - 2);
                                    }
                                    mstr_searchparameter.Append("<td align='left'>" + slabdata + "</td>");
                                }
                                else
                                {
                                    mstr_searchparameter.Append("<td align='left'></td>");
                                }
                            }
                        }



                        mstr_searchparameter.Append("</tr>");
                        mint_Counter++;
                        Count_value++;
                    }
                    mstr_searchparameter.Append("</table></td></tr></table>");



                    HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + sFileName);
                    this.Response.ContentType = "application/excel";
                    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(mstr_searchparameter.ToString());
                    return(File(buffer, "application/vnd.ms-excel"));
                }
            }
            catch (Exception ex)
            {
                return(null);

                throw ex;
            }
        }
        public ActionResult exportToExcelProductLicenseList(ProductLicenseSearch.ClsSearchReport _mobjOtherContract)
        {
            try
            {
                List <ProductLicenseSearch.ClsSearchReport> _mobjReportList     = new List <ProductLicenseSearch.ClsSearchReport>();
                ProductLicenseSearch.ClsSearchReport        _mobjParametertList = new ProductLicenseSearch.ClsSearchReport();

                _mobjReportList     = GetProductLicenseExcelList(_mobjOtherContract.SessionId).ToList();
                _mobjParametertList = GetProductLicenseExcelParameterList(_mobjOtherContract.SessionId);

                string sFileName = "ProductLicense_" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".xls";
                {
                    StringBuilder mstr_searchparameter = new StringBuilder();
                    mstr_searchparameter.Append("<table width='100%'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td  style='width: 100%;' align='left' valign='top'>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td style='width: 100%;' valign='top' align=center colspan='2'>" + "<b>Product License Report</b>" + "</td>");
                    mstr_searchparameter.Append("</tr>");

                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td  style='width: 50%;' valign='top' align=left >" + "<b>Number of Records:</b> " + _mobjReportList.Count() + "</td>");
                    mstr_searchparameter.Append("<td  style='width: 50%;' valign='top' align=right >" + "<b>Report Created Date:</b> " + String.Format("{0:dd MMM yy HH:mm:ss}", DateTime.Now) + "</td>");
                    mstr_searchparameter.Append("</tr>");
                    if (!String.IsNullOrEmpty(_mobjParametertList.ReturnList))
                    {
                        mstr_searchparameter.Append("<tr>");
                        mstr_searchparameter.Append("<td colspan='2' style='width: 100%;' valign='top' align=left>" + "<b>" + "Search criteria:-" + "</b>" + _mobjParametertList.ReturnList + "</td>");
                        mstr_searchparameter.Append("</tr>");
                    }
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td style='width: 100%;' valign='top' align=center colspan='2'></td>");
                    mstr_searchparameter.Append("</tr>");

                    mstr_searchparameter.Append("</table>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td colspan='2'>");
                    mstr_searchparameter.Append("<table width='100%' cellpadding='0' border='1%' cellspacing='0'>");
                    mstr_searchparameter.Append("<tr>");
                    mstr_searchparameter.Append("<td><b>SNo.</b></td>");
                    mstr_searchparameter.Append("<td ><b>Product License Code</b></td>");
                    mstr_searchparameter.Append("<td ><b>Product Code</b></td>");
                    mstr_searchparameter.Append("<td ><b>Working Title</b></td>");
                    mstr_searchparameter.Append("<td ><b>Working Sub Title</b></td>");
                    mstr_searchparameter.Append("<td><b>ISBN</b></td>");
                    mstr_searchparameter.Append("<td><b>Author Name </b></td>");
                    mstr_searchparameter.Append("<td><b>Contract Date</b></td>");

                    mstr_searchparameter.Append("<td ><b>Proprietor Company</b></td>");
                    mstr_searchparameter.Append("<td ><b>Contact Person</b></td>");
                    mstr_searchparameter.Append("<td ><b>Address</b></td>");
                    mstr_searchparameter.Append("<td ><b>Country</b></td>");
                    mstr_searchparameter.Append("<td ><b>State</b></td>");
                    mstr_searchparameter.Append("<td ><b>City</b></td>");
                    mstr_searchparameter.Append("<td ><b>PIN Code</b></td>");
                    mstr_searchparameter.Append("<td ><b>Mobile</b></td>");
                    mstr_searchparameter.Append("<td ><b>Email</b></td>");
                    mstr_searchparameter.Append("<td ><b>Request Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Territory Rights</b></td>");
                    mstr_searchparameter.Append("<td ><b>Impression With In Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>No of Impressions</b></td>");
                    mstr_searchparameter.Append("<td ><b>Print Quantity Type</b></td>");
                    mstr_searchparameter.Append("<td ><b>Print Quantity</b></td>");
                    mstr_searchparameter.Append("<td ><b>Royality Terms</b></td>");
                    mstr_searchparameter.Append("<td ><b>Payment Amount</b></td>");
                    mstr_searchparameter.Append("<td ><b>Advanced Amount</b></td>");
                    mstr_searchparameter.Append("<td ><b>Copies For Proprietor</b></td>");
                    mstr_searchparameter.Append("<td ><b>Price Type</b></td>");
                    mstr_searchparameter.Append("<td ><b>Currency</b></td>");
                    mstr_searchparameter.Append("<td ><b>Price</b></td>");
                    mstr_searchparameter.Append("<td ><b>Third Party Permission</b></td>");
                    mstr_searchparameter.Append("<td ><b>Remarks</b></td>");
                    mstr_searchparameter.Append("<td ><b>Proprietor Copies Sent Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>EFiles Cost</b></td>");
                    mstr_searchparameter.Append("<td ><b>EFiles Request Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>EFiles Received Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Mode</b></td>");
                    mstr_searchparameter.Append("<td ><b>Effective Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Agreement Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Contract Period In Month</b></td>");
                    mstr_searchparameter.Append("<td ><b>Expiry Date</b></td>");

                    mstr_searchparameter.Append("<td ><b>Addendum Code</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Type</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum First Impression With in Date</b></td>");
                    //mstr_searchparameter.Append("<td ><b>Addendum Period of Agreement</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Expiry Date</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum No of Impressions</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Balance Quantity Carry Forward</b></td>");
                    mstr_searchparameter.Append("<td ><b>Additional Number of Copies</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Royalty Terms</b></td>");
                    mstr_searchparameter.Append("<td ><b>Addendum Remarks</b></td>");


                    List <string> typename       = new List <string>();
                    List <string> subsiadiryname = new List <string>();
                    if (_mobjReportList.Count > 0)
                    {
                        for (int i = 0; i < _mobjReportList.Count; i++)
                        {
                            if (_mobjReportList[i].RoyaltySlab != null)
                            {
                                string[] slab = _mobjReportList[i].RoyaltySlab.Split(',');
                                foreach (string s in slab)
                                {
                                    string[] slabvalue = s.Split('#');
                                    for (int k = 0; k < slabvalue.Length; k++)
                                    {
                                        if (k % 2 == 0)
                                        {
                                            typename.Add(slabvalue[k].ToString());
                                        }
                                    }
                                }
                            }

                            if (_mobjReportList[i].SubsidiaryRights != null)
                            {
                                string[] slab = _mobjReportList[i].SubsidiaryRights.Split(',');
                                foreach (string s in slab)
                                {
                                    string[] slabvalue = s.Split('#');
                                    for (int k = 0; k < slabvalue.Length; k++)
                                    {
                                        if (k % 2 == 0)
                                        {
                                            subsiadiryname.Add(slabvalue[k].ToString());
                                        }
                                    }
                                }
                            }
                        }
                    }

                    List <string> distincttypename = typename.Distinct().ToList();
                    if (distincttypename.Count > 0)
                    {
                        foreach (string Typenames in distincttypename)
                        {
                            mstr_searchparameter.Append("<td ><b>" + Typenames.ToUpper() + " </b></td>");
                        }
                    }

                    List <string> distinctsubsiadiryname = subsiadiryname.Distinct().ToList();
                    if (distinctsubsiadiryname.Count > 0)
                    {
                        foreach (string subsiadirynames in distinctsubsiadiryname)
                        {
                            mstr_searchparameter.Append("<td ><b>" + subsiadirynames.ToUpper() + " </b></td>");
                        }
                    }


                    mstr_searchparameter.Append("</tr>");
                    mstr_searchparameter.Append("</td>");
                    int mint_Counter = 1;
                    int Count_value  = 0;
                    foreach (ProductLicenseSearch.ClsSearchReport data in _mobjReportList)
                    {
                        mstr_searchparameter.Append("<tr>");
                        mstr_searchparameter.Append("<td align='right'>" + mint_Counter + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.productlicensecode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.productcode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.WorkingTitle + "<br />" + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.WorkingSubProduct + "<br />" + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + (data.OUPISBN == null || data.OUPISBN == "" ? "" : Convert.ToString("&nbsp;" + data.OUPISBN)) + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AuthorName + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.ContractDate + "</td>");

                        mstr_searchparameter.Append("<td align='left'>" + data.ProprietorCompany + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.ContactPerson + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Address + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Country + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.State + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.City + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Pincode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Mobile + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Email + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Requestdate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.TerritoryRights + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Impressionwithindate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.noofimpressions + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.printquantitytype + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.printquantity + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.RoyalityTerms + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.PaymentAmount + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AdvancedAmount + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.copiesforlicensor + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.pricetype + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Currencyid + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.price + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.thirdpartypermission + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Remarks + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.LicensorCopiesSentDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.EFilesCost + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.EFilesRequestDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.EFilesReceivedDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Mode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.effectivedate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AgreementDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.contractperiodinmonth + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.Expirydate + "</td>");

                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumCode + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumType + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumFirstImpressionWithinDate + "</td>");
                        //mstr_searchparameter.Append("<td align='left'>" + data.AddendumPeriodofagreement + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumExpiryDate + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumNoOfImpressions + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumBalanceQuantityCarryForward + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumQuantity + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumRoyaltyTerms + "</td>");
                        mstr_searchparameter.Append("<td align='left'>" + data.AddendumRemarks + "</td>");


                        if (distincttypename.Count > 0)
                        {
                            for (int j = 0; j < distincttypename.Count; j++)
                            {
                                string slabdata = "";
                                if (_mobjReportList[Count_value].RoyaltySlab != null)
                                {
                                    string[] slab = _mobjReportList[Count_value].RoyaltySlab.Split(',');
                                    foreach (string s in slab)
                                    {
                                        string[] slabvalue = s.Split('#');

                                        for (int k = 0; k < slabvalue.Length; k = k + 2)
                                        {
                                            if (slabvalue[k].ToString() == distincttypename[j].ToString())
                                            {
                                                slabdata += slabvalue[k + 1].ToString() + ", ";
                                            }
                                        }
                                    }
                                    if (slabdata.Length > 0)
                                    {
                                        slabdata = slabdata.Substring(0, slabdata.Length - 2);
                                    }
                                    mstr_searchparameter.Append("<td align='left'>" + slabdata + "</td>");
                                }
                                else
                                {
                                    mstr_searchparameter.Append("<td align='left'></td>");
                                }
                            }
                        }


                        if (distinctsubsiadiryname.Count > 0)
                        {
                            for (int j = 0; j < distinctsubsiadiryname.Count; j++)
                            {
                                string slabdata = "";
                                if (_mobjReportList[Count_value].SubsidiaryRights != null)
                                {
                                    string[] slab = _mobjReportList[Count_value].SubsidiaryRights.Split(',');
                                    foreach (string s in slab)
                                    {
                                        string[] slabvalue = s.Split('#');

                                        for (int k = 0; k < slabvalue.Length; k = k + 2)
                                        {
                                            if (slabvalue[k].ToString() == distinctsubsiadiryname[j].ToString())
                                            {
                                                slabdata += slabvalue[k + 1].ToString() + ", ";
                                            }
                                        }
                                    }
                                    if (slabdata.Length > 0)
                                    {
                                        slabdata = slabdata.Substring(0, slabdata.Length - 2);
                                    }
                                    mstr_searchparameter.Append("<td align='left'>" + slabdata + "</td>");
                                }
                                else
                                {
                                    mstr_searchparameter.Append("<td align='left'></td>");
                                }
                            }
                        }



                        mstr_searchparameter.Append("</tr>");
                        mint_Counter++;
                        Count_value++;
                    }
                    mstr_searchparameter.Append("</table></td></tr></table>");



                    HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" + sFileName);
                    this.Response.ContentType = "application/excel";
                    byte[] buffer = System.Text.Encoding.UTF8.GetBytes(mstr_searchparameter.ToString());
                    return(File(buffer, "application/vnd.ms-excel"));
                }
            }
            catch (Exception ex)
            {
                return(null);

                throw ex;
            }
        }