public JsonResult GetAllProductByOwnStore(int?id) { try { UnitOfWork unitOfWork = new UnitOfWork(); //view give me own store id i have to convert it to productHouse Id var productionHouseInfo = unitOfWork.ProductionHouseInformationRepository.Get().Where(a => a.OwnStore == id).FirstOrDefault(); //var productId = unitOfWork.ProductTransferRepository.Get().Where(a => //{ // return productionHouseInfo != null && a.StoreId == productionHouseInfo.MainStore; //}).ToList().DistinctBy(a=>a.ProductId); var productId = unitOfWork.CustomRepository.sp_MainStoreProductStatus(productionHouseInfo.MainStore).ToList(); var productList = new List <Vm_ProductTransfetToProductionHouse>(); foreach (var aProduct in productId) { if (aProduct != null) { Vm_ProductTransfetToProductionHouse newProduct = new Vm_ProductTransfetToProductionHouse(); var productInfo = unitOfWork.ProductRepository.GetByID(aProduct.ProductId); if (productInfo != null) { newProduct.MainStoreQuantity = Convert.ToDecimal(aProduct.Quantity); newProduct.ProductInformation.ProductId = productInfo.ProductId; newProduct.ProductInformation.ProductName = productInfo.ProductName; newProduct.ProductInformation.Unit = productInfo.Unit; newProduct.AvailableQuatity = ProductAvailableQuantity(productionHouseInfo.OwnStore, Convert.ToInt32(aProduct.ProductId)); productList.Add(newProduct); } } } return(Json(new { result = productList, success = true }, JsonRequestBehavior.AllowGet)); } catch (Exception exception) { return(Json(new { errorMessage = exception.Message }, JsonRequestBehavior.AllowGet)); } }
private void ProductToProductionHouseReport(int mainStoreId, int productionHouseId, List <Vm_ProductTransfetToProductionHouse> productList) { var newProductList = new List <Vm_ProductTransfetToProductionHouse>(); foreach (var product in productList) { Vm_ProductTransfetToProductionHouse newProduct = new Vm_ProductTransfetToProductionHouse(); newProduct.MainStoreId = mainStoreId; newProduct.MainStoreName = unitOfWork.StoreRepository.GetByID(mainStoreId).store_name; newProduct.StoreId = productionHouseId; newProduct.StoreName = unitOfWork.StoreRepository.GetByID(productionHouseId).store_name; newProduct.ProductId = product.ProductId; newProduct.ProductName = unitOfWork.ProductRepository.GetByID(product.ProductId).ProductName; newProduct.Quantity = product.Quantity; newProduct.Unit = product.Unit; newProductList.Add(newProduct); } int restaurantId = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());; string restaurantName = unitOfWork.RestaurantRepository.GetByID(restaurantId).Name; string restaurantAddress = unitOfWork.RestaurantRepository.GetByID(restaurantId).Address; LocalReport localReport = new LocalReport(); localReport.ReportPath = Server.MapPath("~/Reports/ProductToProductionHouseReport.rdlc"); localReport.SetParameters(new ReportParameter("RestaurantName", restaurantName)); localReport.SetParameters(new ReportParameter("RestaurantAddress", restaurantAddress)); ReportDataSource reportDataSource = new ReportDataSource("ProductToProductionHouseDataSet", newProductList); localReport.DataSources.Add(reportDataSource); string reportType = "pdf"; string mimeType; string encoding; string fileNameExtension; //The DeviceInfo settings should be changed based on the reportType //http://msdn.microsoft.com/en-us/library/ms155397.aspx string deviceInfo = "<DeviceInfo>" + " <OutputFormat>PDF</OutputFormat>" + " <PageWidth>8.5in</PageWidth>" + " <PageHeight>11in</PageHeight>" + " <MarginTop>0.5in</MarginTop>" + " <MarginLeft>0in</MarginLeft>" + " <MarginRight>0in</MarginRight>" + " <MarginBottom>0.5in</MarginBottom>" + "</DeviceInfo>"; Warning[] warnings; string[] streams; byte[] renderedBytes; //Render the report renderedBytes = localReport.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); var fileName = RenameReportFile(mainStoreId, productionHouseId, DateTime.Now, "Main", "Pro"); var path = System.IO.Path.Combine(Server.MapPath("~/pdfReport")); //var saveAs = string.Format("{0}.pdf", Path.Combine(path, "myfilename")); var saveAs = path + "\\" + fileName + ".pdf"; var idx = 0; while (System.IO.File.Exists(saveAs)) { idx++; saveAs = string.Format("{0}.{1}.pdf", Path.Combine(path, "myfilename"), idx); } using (var stream = new FileStream(saveAs, FileMode.Create, FileAccess.Write)) { stream.Write(renderedBytes, 0, renderedBytes.Length); stream.Close(); } tblChalanReport report = new tblChalanReport() { ToStore = Convert.ToString(mainStoreId), FromStore = Convert.ToString(productionHouseId), Date = DateTime.Now, ReportName = fileName }; SaveToDatabase(report); localReport.Dispose(); }