Beispiel #1
0
        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));
            }
        }
Beispiel #2
0
        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();
        }