public async Task <JsonResult> Get(int pageIndex, int pageSize, string pageOrder, string userName, int?orderID, int?fromPrice, int?toPrice, string fromDate, string toDate, sbyte cartStatus, SendMethodType?sendMethodType, PaymentMethodType?paymentMethodType) { DateTime?sDate = null, eDate = null; CartStatus?crtStatus = null; if (!String.IsNullOrWhiteSpace(fromDate)) { sDate = Utilities.ToEnglishDate(fromDate).Date; } if (!String.IsNullOrWhiteSpace(toDate)) { eDate = Utilities.ToEnglishDate(toDate).Date; } if (cartStatus != -1) { crtStatus = (CartStatus)cartStatus; } var list = Carts.Get(pageIndex, pageSize, pageOrder, orderID, fromPrice, toPrice, sDate, eDate, crtStatus, null, sendMethodType, paymentMethodType, "", OrderStatus.Unsuccessful); foreach (var item in list) { var user = (await UserManager.FindByIdAsync(item.UserID)); if (user != null) { item.UserName = user.UserName; item.Firstname = user.Firstname; item.Lastname = user.Lastname; } } int total = Carts.Count(orderID, fromPrice, toPrice, sDate, eDate, crtStatus, null, sendMethodType, paymentMethodType, "", OrderStatus.Unsuccessful); int totalPage = (int)Math.Ceiling((decimal)total / pageSize); if (pageSize > total) { pageSize = total; } if (list.Count < pageSize) { pageSize = list.Count; } JsonResult result = new JsonResult() { Data = new { TotalPages = totalPage, PageIndex = pageIndex, PageSize = pageSize, Rows = list }, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; return(result); }
public async Task <ActionResult> ExportToExcel(string userName, int?orderID, int?fromPrice, int?toPrice, string fromDate, string toDate, sbyte cartStatus, sbyte sendStatus, SendMethodType?sendMethodType, PaymentMethodType?paymentMethodType, string saleReferenceID) { DateTime?sDate = null, eDate = null; SendStatus?sndStatus = null; CartStatus?crtStatus = null; if (!String.IsNullOrWhiteSpace(fromDate)) { sDate = Utilities.ToEnglishDate(fromDate).Date; } if (!String.IsNullOrWhiteSpace(toDate)) { eDate = Utilities.ToEnglishDate(toDate).Date; } if (sendStatus != -1) { sndStatus = (SendStatus)sendStatus; } if (cartStatus != -1) { crtStatus = (CartStatus)cartStatus; } var dt = new System.Data.DataTable("Orders"); var orders = Carts.Get(0, -1, "ID", orderID, fromPrice, toPrice, sDate, eDate, crtStatus, sndStatus, sendMethodType, paymentMethodType, saleReferenceID, OrderStatus.All); dt.Columns.Add("کد سفارش", typeof(int)); dt.Columns.Add("کد پیگیری", typeof(string)); dt.Columns.Add("نام", typeof(string)); dt.Columns.Add("نام خانوادگی", typeof(string)); dt.Columns.Add("نام کاربری", typeof(string)); dt.Columns.Add("روش ارسال", typeof(string)); dt.Columns.Add("مبلغ کل", typeof(long)); dt.Columns.Add("مبلغ قابل پرداخت", typeof(long)); dt.Columns.Add("تاریخ سفارش", typeof(string)); dt.Columns.Add("وضعیت سفارش", typeof(string)); dt.Columns.Add("وضعیت ارسال", typeof(string)); foreach (var item in orders) { var user = (await UserManager.FindByIdAsync(item.UserID)); if (user != null) { item.UserName = user.UserName; item.Firstname = user.Firstname; item.Lastname = user.Lastname; } dt.Rows.Add(item.ID, item.SaleReferenceID, item.Firstname, item.Lastname, item.UserName, item.SendMethodType.GetEnumDisplay(), item.Total, item.ToPay, Utilities.ToPersianDate(item.DateTime.Value), item.CartStatus.GetEnumDisplay(), item.SendStatus.GetEnumDisplay() ); } var grid = new GridView(); grid.Font.Name = "tahoma"; grid.Font.Size = new FontUnit(11, UnitType.Pixel); grid.DataSource = dt; grid.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=Prices.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); return(View("MyView")); }