Exemplo n.º 1
0
 public JsonResult ProductUseInProductionHouse(List <VM_Product> productList)
 {
     try
     {
         foreach (var product in productList)
         {
             tblProductTransfer productTransfer = new tblProductTransfer();
             productTransfer.DateTime     = DateTime.Now;
             productTransfer.CreatedBy    = SessionManger.LoggedInUser(Session);
             productTransfer.EditedBy     = null;
             productTransfer.RestaurantId =
                 Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
             productTransfer.CreatedDateTime = DateTime.Now;
             productTransfer.StoreId         = product.StoreId;
             productTransfer.SupplierId      = null;
             productTransfer.ProductId       = product.ProductId;
             productTransfer.Quantity        = product.Quantity;
             productTransfer.TransferDate    = DateTime.Now;
             productTransfer.isOut           = true;
             productTransfer.Unit            = product.Unit;
             unitOfWork.ProductTransferRepository.Insert(productTransfer);
         }
         unitOfWork.Save();
         return(Json(new { success = true, successMesseage = "Raw Metarial Taken From ProductionHouse Successfully" },
                     JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
 public JsonResult SaveProductToProductionHouse(int StoreId, List <VM_ProductToStore> productList)
 {
     try
     {
         foreach (VM_ProductToStore aProduct in productList)
         {
             tblProductTransfer aProductTransfer = new tblProductTransfer();
             aProductTransfer.StoreId         = StoreId;
             aProductTransfer.TransferDate    = DateTime.Now;
             aProductTransfer.SupplierId      = null;
             aProductTransfer.ProductId       = aProduct.ProductId;
             aProductTransfer.Quantity        = aProduct.Quantity;
             aProductTransfer.Unit            = aProduct.Unit;
             aProductTransfer.UnitPrice       = (decimal?)aProduct.UnitPrice;
             aProductTransfer.isIn            = true;
             aProductTransfer.isOut           = false;
             aProductTransfer.DateTime        = DateTime.Now;
             aProductTransfer.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
             aProductTransfer.CreatedBy       = SessionManger.LoggedInUser(Session);
             aProductTransfer.CreatedDateTime = DateTime.Now;
             aProductTransfer.EditedBy        = null;
             aProductTransfer.EditedDateTime  = null;
             unitOfWork.ProductTransferRepository.Insert(aProductTransfer);
             // MAY BE, DATA INSERTION IN TABLE tblProductEntryToProductionHouse SHOULD BE IMPLEMENTED HERE.
         }
         unitOfWork.Save();
         return(Json(new { success = true, successMessage = "Product Added Successfully" }));
     }
     catch (Exception ex)
     {
         return(Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
Exemplo n.º 3
0
        public JsonResult AddProductToProductionHouse(List <Vm_ProductTransfetToProductionHouse> ProductList)
        {
            try
            {
                tblStoreInformation mainStore       = null;
                tblProductTransfer  productTransfer = null;
                foreach (var productTransfetToProductionHouse in ProductList)
                {
                    if (productTransfetToProductionHouse.Quantity != null)
                    {
                        productTransfer              = new tblProductTransfer();
                        productTransfer.DateTime     = DateTime.Now;
                        productTransfer.CreatedBy    = SessionManger.LoggedInUser(Session);
                        productTransfer.EditedBy     = null;
                        productTransfer.RestaurantId =
                            Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                        productTransfer.CreatedDateTime = DateTime.Now;
                        productTransfer.StoreId         = productTransfetToProductionHouse.StoreId;
                        productTransfer.SupplierId      = null;
                        productTransfer.ProductId       = productTransfetToProductionHouse.ProductId;
                        productTransfer.Quantity        = productTransfetToProductionHouse.Quantity;
                        productTransfer.TransferDate    = DateTime.Now;
                        productTransfer.isIn            = true;
                        productTransfer.Unit            = productTransfetToProductionHouse.Unit;
                        unitOfWork.ProductTransferRepository.Insert(productTransfer);
                        unitOfWork.Save();
                        //--------- Get Main Store of  --> Own Store---------------
                        mainStore = unitOfWork.StoreRepository.GetByID(productTransfer.StoreId);
                        //----------------- Out Product to Main Store  ------------
                        tblProductTransfer productTransfer2 = new tblProductTransfer();
                        productTransfer2.StoreId         = mainStore.ParentStoreId;
                        productTransfer2.SupplierId      = null;
                        productTransfer2.ProductId       = productTransfetToProductionHouse.ProductId;
                        productTransfer2.Quantity        = productTransfetToProductionHouse.Quantity;
                        productTransfer2.TransferDate    = DateTime.Now;
                        productTransfer2.Unit            = productTransfetToProductionHouse.Unit;
                        productTransfer2.isOut           = true;
                        productTransfer2.CreatedDateTime = DateTime.Now;
                        unitOfWork.ProductTransferRepository.Insert(productTransfer2);
                        productTransfer2.DateTime     = DateTime.Now;
                        productTransfer2.CreatedBy    = SessionManger.LoggedInUser(Session);
                        productTransfer2.EditedBy     = null;
                        productTransfer2.RestaurantId =
                            Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                        unitOfWork.Save();
                    }
                }
                ProductToProductionHouseReport(Convert.ToInt32(mainStore.ParentStoreId), Convert.ToInt32(productTransfer.StoreId), ProductList);


                //----------- In a  Product  to Own Store------------------

                return(Json(new { success = true, successMessage = "Product Transfer to Product House  Successfully" }));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public JsonResult OpeningProductBalanceInStore(int StoreId, List <VM_ProductToStore> productList, DateTime fromDate)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (unitOfWork.StoreRepository.GetByID(StoreId).is_mainStore == true)
                    {
                        foreach (VM_ProductToStore aProduct in productList)
                        {
                            tblProductTransfer aProductTransfer = new tblProductTransfer();

                            aProductTransfer.StoreId      = StoreId;
                            aProductTransfer.TransferDate = fromDate;
                            aProductTransfer.SupplierId   = null;
                            aProductTransfer.ProductId    = aProduct.ProductId;
                            aProductTransfer.Quantity     = (decimal?)aProduct.OpeningBalance;
                            aProductTransfer.Unit         = aProduct.Unit;
                            aProductTransfer.UnitPrice    = null;
                            aProductTransfer.isIn         = true;
                            aProductTransfer.isOut        = false;
                            aProductTransfer.DateTime     = DateTime.Now;
                            aProductTransfer.RestaurantId =
                                Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            aProductTransfer.CreatedBy       = SessionManger.LoggedInUser(Session);
                            aProductTransfer.CreatedDateTime = DateTime.Now;
                            aProductTransfer.EditedBy        = null;
                            aProductTransfer.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(aProductTransfer);
                        }

                        unitOfWork.Save();

                        return(Json(new { success = true, successMessage = "Opening Product Balance  Added Successfully" }, JsonRequestBehavior.AllowGet));
                    }

                    if (unitOfWork.StoreRepository.GetByID(StoreId).isProductionHouseStore == true)
                    {
                        foreach (VM_ProductToStore aProduct in productList)
                        {
                            tblProductTransfer product1 = new tblProductTransfer();


                            product1.StoreId         = StoreId;
                            product1.TransferDate    = fromDate;
                            product1.ProductId       = aProduct.ProductId;
                            product1.Quantity        = (decimal?)aProduct.OpeningBalance;
                            product1.Unit            = aProduct.Unit;
                            product1.isIn            = true;
                            product1.isOut           = false;
                            product1.DateTime        = DateTime.Now;
                            product1.RestaurantId    = int.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            product1.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product1.CreatedDateTime = DateTime.Now;
                            product1.EditedBy        = null;
                            product1.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product1);
                        }

                        unitOfWork.Save();

                        return(Json(new { success = true, successMessage = "Opening Product Balance  Added Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                    if (unitOfWork.StoreRepository.GetByID(StoreId).IsSellsPointStore == true)
                    {
                        //var SellsPoint = unitOfWork.SellsPointRepository.Get().Where(x => x.SellsPointStoreId == StoreId).First();


                        foreach (VM_ProductToStore aProduct in productList)
                        {
                            //tblPHtoSPProductTransfer product = new tblPHtoSPProductTransfer();

                            //product.SellsPointId = SellsPoint.SellsPointId;
                            //product.ProductionHouseId = null;
                            //product.ProductId = aProduct.ProductId;
                            //product.Quantity = (decimal?)aProduct.OpeningBalance;
                            //product.Unit = aProduct.Unit;
                            //product.isIn = true;
                            //product.isOut = false;
                            //product.RestaurantId = int.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            //product.CreatedBy = SessionManger.LoggedInUser(Session);
                            //product.CreatedDateTime = DateTime.Now;
                            //product.EditedBy = null;
                            //product.EditedDateTime = null;
                            //unitOfWork.PHToSPProductTransferRepository.Insert(product);
                            //unitOfWork.Save();

                            tblProductTransfer product2 = new tblProductTransfer();
                            product2.StoreId         = StoreId;
                            product2.TransferDate    = fromDate;
                            product2.ProductId       = aProduct.ProductId;
                            product2.Quantity        = (decimal?)aProduct.OpeningBalance;
                            product2.Unit            = aProduct.Unit;
                            product2.isIn            = true;
                            product2.isOut           = false;
                            product2.DateTime        = DateTime.Now;
                            product2.RestaurantId    = int.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            product2.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product2.CreatedDateTime = DateTime.Now;
                            product2.EditedBy        = null;
                            product2.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product2);
                        }
                        unitOfWork.Save();
                        return(Json(new { success = true, successMessage = "Opening Product Balance  Added Successfully" }, JsonRequestBehavior.AllowGet));
                    }

                    else
                    {
                        return(Json(new { success = false, errorMessage = "Opening Product Balance not Save" }, JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new { success = false, errorMessage = "Model is not Valid" }, JsonRequestBehavior.AllowGet));
            }
        }
        //public JsonResult SaveProductToSellPoint(int SellsPointId, int ProductionHouseStoreId,int shiftId,DateTime fromDate, List<VM_PHtoSPProductTransfer> productList)
        public JsonResult SaveProductToSellPoint(int SellsPointId, int ProductionHouseStoreId, int shiftId, List <VM_PHtoSPProductTransfer> productList)
        {
            try
            {
                var productionHouse = unitOfWork.ProductionHouseInformationRepository.Get().Where(x => x.OwnStore == ProductionHouseStoreId).FirstOrDefault();
                //var mainStore = unitOfWork.StoreRepository.Get().Where(x => x.is_mainStore == true && x.store_id == ProductionHouseStoreId && x.store_id!=2).First();
                var SellsPoint = unitOfWork.SellsPointRepository.Get().Where(x => x.SellsPointStoreId == SellsPointId).FirstOrDefault();


                if (productionHouse != null)
                {
                    foreach (VM_PHtoSPProductTransfer vmProduct in productList)
                    {
                        using (TransactionScope scope = new TransactionScope())
                        {
                            tblPHtoSPProductTransfer aProduct = new tblPHtoSPProductTransfer();
                            aProduct.SellsPointId      = SellsPoint.SellsPointId;
                            aProduct.ProductionHouseId = productionHouse.ProductionHouseId;
                            //aProduct.GroupId = groupId;
                            aProduct.ShiftId = shiftId;
                            //aProduct.TransferDate = fromDate;
                            aProduct.TransferDate    = DateTime.Now;
                            aProduct.ProductId       = vmProduct.ProductId;
                            aProduct.Quantity        = (decimal)vmProduct.Quantity;
                            aProduct.Unit            = vmProduct.Unit;
                            aProduct.isIn            = true;
                            aProduct.RestaurantId    = int.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            aProduct.CreatedBy       = SessionManger.LoggedInUser(Session);
                            aProduct.CreatedDateTime = DateTime.Now;
                            aProduct.EditedBy        = null;
                            aProduct.EditedDateTime  = null;
                            unitOfWork.PHToSPProductTransferRepository.Insert(aProduct);
                            unitOfWork.Save();


                            tblProductTransfer product = new tblProductTransfer();
                            product.StoreId = ProductionHouseStoreId;
                            //product.GroupId = groupId;
                            product.ShiftId = shiftId;
                            //product.TransferDate = fromDate;
                            product.TransferDate    = DateTime.Now;
                            product.ProductId       = vmProduct.ProductId;
                            product.Quantity        = (decimal)vmProduct.Quantity;
                            product.Unit            = vmProduct.Unit;
                            product.isOut           = true;
                            product.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product.CreatedDateTime = DateTime.Now;
                            product.EditedBy        = null;
                            product.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product);
                            unitOfWork.Save();

                            tblProductTransfer product2 = new tblProductTransfer();
                            product2.StoreId = SellsPointId;
                            //product2.GroupId = groupId;
                            product2.ShiftId = shiftId;
                            //product2.TransferDate = fromDate;
                            product2.TransferDate    = DateTime.Now;
                            product2.ProductId       = vmProduct.ProductId;
                            product2.Quantity        = (decimal)vmProduct.Quantity;
                            product2.Unit            = vmProduct.Unit;
                            product2.isIn            = true;
                            product2.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product2.CreatedDateTime = DateTime.Now;
                            product2.EditedBy        = null;
                            product2.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product2);
                            unitOfWork.Save();
                            scope.Complete();
                        }
                    }
                }

                else
                {
                    foreach (VM_PHtoSPProductTransfer vmProduct in productList)
                    {
                        using (TransactionScope scope = new TransactionScope())
                        {
                            tblPHtoSPProductTransfer aProduct = new tblPHtoSPProductTransfer();
                            aProduct.SellsPointId      = SellsPoint.SellsPointId;
                            aProduct.ProductionHouseId = null;
                            //aProduct.GroupId = groupId;
                            aProduct.ShiftId = shiftId;
                            //aProduct.TransferDate = fromDate;
                            aProduct.TransferDate    = DateTime.Now;
                            aProduct.ProductId       = vmProduct.ProductId;
                            aProduct.Quantity        = (decimal)vmProduct.Quantity;
                            aProduct.Unit            = vmProduct.Unit;
                            aProduct.isIn            = true;
                            aProduct.RestaurantId    = int.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                            aProduct.CreatedBy       = SessionManger.LoggedInUser(Session);
                            aProduct.CreatedDateTime = DateTime.Now;
                            aProduct.EditedBy        = null;
                            aProduct.EditedDateTime  = null;
                            unitOfWork.PHToSPProductTransferRepository.Insert(aProduct);
                            unitOfWork.Save();


                            tblProductTransfer product = new tblProductTransfer();
                            product.StoreId = ProductionHouseStoreId;
                            //product.GroupId = groupId;
                            product.ShiftId = shiftId;
                            //product.TransferDate = fromDate;
                            product.TransferDate    = DateTime.Now;
                            product.ProductId       = vmProduct.ProductId;
                            product.Quantity        = (decimal)vmProduct.Quantity;
                            product.Unit            = vmProduct.Unit;
                            product.isOut           = true;
                            product.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product.CreatedDateTime = DateTime.Now;
                            product.EditedBy        = null;
                            product.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product);
                            unitOfWork.Save();

                            tblProductTransfer product2 = new tblProductTransfer();
                            product2.StoreId = SellsPointId;
                            //product2.GroupId = groupId;
                            product2.ShiftId = shiftId;
                            //product2.TransferDate = fromDate;
                            product2.TransferDate    = DateTime.Now;
                            product2.ProductId       = vmProduct.ProductId;
                            product2.Quantity        = (decimal)vmProduct.Quantity;
                            product2.Unit            = vmProduct.Unit;
                            product2.isIn            = true;
                            product2.CreatedBy       = SessionManger.LoggedInUser(Session);
                            product2.CreatedDateTime = DateTime.Now;
                            product2.EditedBy        = null;
                            product2.EditedDateTime  = null;
                            unitOfWork.ProductTransferRepository.Insert(product2);
                            unitOfWork.Save();
                            scope.Complete();
                        }
                    }
                }

                this.ProductionHouseToSellsPointReport(Convert.ToInt32(SellsPointId), Convert.ToInt32(ProductionHouseStoreId), productList);
                //unitOfWork.Save();
                return(Json(new { success = true, successMessage = " Successfully Added" }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception exception)
            {
                return(Json(new { success = false, errorMessage = exception.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        //public JsonResult AddSoldProductInfoToProductTransfer(int storeId, int shiftId, DateTime fromDate, List<VM_ProductSold> productsoldList)
        public JsonResult AddSoldProductInfoToProductTransfer(int storeId, int shiftId, List <VM_ProductSold> productsoldList)
        {
            try
            {
                foreach (var productsold in productsoldList)
                {
                    using (TransactionScope scope = new TransactionScope())
                    {
                        tblProductTransfer productTransfer = new tblProductTransfer();
                        productTransfer.StoreId = storeId;
                        //productTransfer.GroupId = groupId;
                        productTransfer.ShiftId = shiftId;
                        //productTransfer.TransferDate = fromDate;
                        productTransfer.TransferDate    = DateTime.Now;
                        productTransfer.ProductId       = productsold.ProductId;
                        productTransfer.Quantity        = productsold.Quantity;
                        productTransfer.Unit            = unitOfWork.ProductRepository.GetByID(productsold.ProductId).Unit;
                        productTransfer.UnitPrice       = unitOfWork.ProductRepository.GetByID(productsold.ProductId).UnitPrice;
                        productTransfer.isOut           = true;
                        productTransfer.DateTime        = DateTime.Now;
                        productTransfer.CreatedBy       = SessionManger.LoggedInUser(Session);
                        productTransfer.EditedBy        = null;
                        productTransfer.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                        productTransfer.CreatedDateTime = DateTime.Now;
                        unitOfWork.ProductTransferRepository.Insert(productTransfer);
                        unitOfWork.Save();



                        //add product to productSold table

                        tblProductSold productSold = new tblProductSold();

                        productSold.StoreId = storeId;
                        //productSold.GroupId = groupId;
                        productSold.ShiftId = shiftId;
                        //productSold.TransferDate = fromDate;
                        productSold.TransferDate    = DateTime.Now;
                        productSold.ProductId       = productsold.ProductId;
                        productSold.Quantity        = productsold.Quantity;
                        productSold.Unit            = unitOfWork.ProductRepository.GetByID(productsold.ProductId).Unit;
                        productSold.UnitPrice       = unitOfWork.ProductRepository.GetByID(productsold.ProductId).UnitPrice;
                        productSold.DateTime        = DateTime.Now;
                        productSold.CreatedBy       = SessionManger.LoggedInUser(Session);
                        productSold.EditedBy        = null;
                        productSold.RestaurantId    = Int32.Parse(SessionManger.RestaurantOfLoggedInUser(Session).ToString());
                        productSold.CreatedDateTime = DateTime.Now;
                        unitOfWork.ProductSoldRepository.Insert(productSold);
                        unitOfWork.Save();


                        if (shiftId == 1)
                        {
                            unitOfWork.CustomRepository.sp_InsertTotalAmountDailyByShiftWise();
                        }
                        else
                        {
                            unitOfWork.CustomRepository.sp_InsertTotalAmountDailyForNightShift();
                        }

                        scope.Complete();
                    }
                }
                return(Json(new { success = true, successMessage = "Product Sold" }));
            }
            catch (Exception ex)
            {
                return(Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet));
            }
            //return Json(new { success = true, successMessage = "Product Sold" });
        }