//[OutputCache(CacheProfile = "Aggressive", VaryByHeader = "X-Requested-With", Location = OutputCacheLocation.Any, NoStore = true)] private ActionResult ItemContainer(string quoteID, string type) { IQuoteViewService _QuoteViewSrv = new QuoteViewService(); _QuoteViewSrv.UserVM = UserVM; _itemcontainerPartialSrv.UserVM = UserVM; if (type == "View") { ViewData["SearchCategory"] = _QuoteViewSrv.getQuoteTypeText(Convert.ToInt32(quoteID)); QuoteViewModel qVM = _QuoteViewSrv.GetQuoteView(Convert.ToInt32(quoteID)); UserVM.SearchCategory = string.Empty; this.AssignUserVM(qVM.UserVM); return(View("../TCPViews/QuoteView", qVM)); } ViewData["QuoteID"] = quoteID; if (type == "Category") { CategoriesItemContainerViewModel categoriesItemCVM = new CategoriesItemContainerViewModel(); categoriesItemCVM.UserVM = UserVM; string noofItemsPerPage = "60"; categoriesItemCVM = _itemcontainerPartialSrv.GetSelectedCollectionItem((int)GroupEnum.EntirePenworthyCollection, 1, noofItemsPerPage, Convert.ToInt32(quoteID), ""); this.AssignUserVM(categoriesItemCVM.UserVM); return(View("../TCPViews/CategoriesItemContainer", categoriesItemCVM)); } KPLItemConatinerViewModel ciCVM = new KPLItemConatinerViewModel(); ciCVM.UserVM = UserVM; ciCVM = _itemcontainerPartialSrv.FillItemDetails(quoteID, type); this.AssignUserVM(ciCVM.UserVM); return(View("../TCPViews/KPLItemContainer", ciCVM)); }
public ActionResult ExportItemListToExcel() { IQuoteViewService _QuoteViewSrv = new QuoteViewService(); _QuoteViewSrv.UserVM = UserVM; ViewData["QuoteType"] = _QuoteViewSrv.getQuoteTypeText(UserVM.CurrentQuoteID); KPLItemConatinerViewModel lstkplVM = new KPLItemConatinerViewModel(); lstkplVM.UserVM = UserVM; _itemcontainerPartialSrv.UserVM = UserVM; lstkplVM = _itemcontainerPartialSrv.FillItemDetails(UserVM.CurrentQuoteID.ToString(), _QuoteViewSrv.getQuoteTypeText(UserVM.CurrentQuoteID).ToString()); string userSelection = string.Empty; if (lstkplVM.UserVM.Preferences.Count() == 0) { lstkplVM.UserVM.Preferences.Add("TabularItemPartial", Resources.TCPResources.DefaultKPLValues); } foreach (KeyValuePair <string, string> item in lstkplVM.UserVM.Preferences) { userSelection = string.IsNullOrEmpty(item.Value) ? null : "IsChecked," + item.Value; } string[] preferences = string.IsNullOrEmpty(userSelection) ? null : userSelection.Split(','); var Controller = DependencyResolver.Current.GetService <TPC.Web.Controllers.TCPControllers.DefaultController>(); System.Data.DataTable dt = Controller.ConvertToDataTable(lstkplVM.KPLBasedVM, preferences); System.Text.StringBuilder sb = new System.Text.StringBuilder(); string headerText = string.Format(Resources.TCPResources.QuoteEmailExcelHeaderTable, ConfigurationManager.AppSettings["imgLogoPath"], string.Format("{0:d}", DateTime.Today), UserVM.CurrentQuoteID, UserVM.CRMModelProperties.CustNO, UserVM.CRMModelProperties.RepName, UserVM.CRMModelProperties.custName, UserVM.CRMModelProperties.RepEmail, UserVM.CRMModelProperties.CustFirstName + ' ' + UserVM.CRMModelProperties.CustLastName); sb.Append(headerText); sb.Append("<table style=\"border-collapse:collapse;\">"); //write column headings sb.Append("<tr>"); foreach (System.Data.DataColumn dc in dt.Columns) { if (dc.ColumnName.ToLower().Trim() == "series" || dc.ColumnName.ToLower().Trim() == "title" || dc.ColumnName.ToLower().Trim() == "primarycharacter") { sb.Append("<td><b><font face=Arial size=" + "10px" + ">" + "X " + "</font></b></td>"); } if (dc.ColumnName.ToLower().Trim() == "ischecked") { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "Select" + "</font></td>"); } else { sb.Append("<td><b><font face=Arial size=" + "10px" + ">" + dc.ColumnName + "</font></b></td>"); } } sb.Append("</tr>"); //write table data foreach (System.Data.DataRow dr in dt.Rows) { sb.Append("<tr>"); foreach (System.Data.DataColumn dc in dt.Columns) { if (dc.ToString().ToLower().Trim() == "title") { if (lstkplVM.KPLBasedVM.Single(x => x.ItemID == dr["ItemId"].ToString()).IsInCustomerTitles) { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "X" + "</font></td>"); } else { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "" + "</font></td>"); } } else { //sb.Append("<td><font face=Arial size=" + "10px" + ">" + "" + "</font></td>"); if (dc.ToString().ToLower() == "primarycharacter") { if (lstkplVM.KPLBasedVM.Single(x => x.ItemID == dr["ItemId"].ToString()).CharecterBroughtBefore) { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "X" + "</font></td>"); } else { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "" + "</font></td>"); } } if (dc.ToString().ToLower().Trim() == "series") { if (lstkplVM.KPLBasedVM.Single(x => x.ItemID == dr["ItemId"].ToString()).SeriesBroughtBefore) { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "X" + "</font></td>"); } else { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "" + "</font></td>"); } } } if (dc.ToString().ToLower().Trim() == "ischecked") { if (dr[dc].ToString() == "checked") { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "X" + "</font></td>"); } else { sb.Append("<td><font face=Arial size=" + "10px" + ">" + "" + "</font></td>"); } } else if (dc.ToString().ToLower().Trim() == "price") { sb.Append("<td>" + String.Format("{0:0.00}", dr[dc].ToString()) + "</td>"); } else { sb.Append("<td><font face=Arial size=" + "10px" + ">" + dr[dc].ToString() + " </font></td>"); } } sb.Append("</tr>"); } sb.Append("</table>"); this.Response.AddHeader("Content-Disposition", "attachment; filename=ItemList.xls"); this.Response.ContentType = "application/vnd.ms-excel"; byte[] buffer = System.Text.Encoding.UTF8.GetBytes(sb.ToString()); return(File(buffer, "application/vnd.ms-excel")); }