public ActionResult Add(SalePointProductAdd Request)
        {
            if (ModelState.IsValid)
            {
                string name                    = HttpContext.User.Identity.Name;
                string operatorName            = AgroExpressDBAccess.GetFullNamebyUserID(name);
                List <ProductTransferInfo> PTI = Request.TransferedProductInfo;
                int len = PTI.Count;
                List <SalePointProductConsume> newProduct = new List <SalePointProductConsume>();
                for (int i = 0; i < len; i++)
                {
                    if (PTI[i].ProductId != null && (PTI[i].Amount != null))
                    {
                        newProduct.Add(new SalePointProductConsume
                        {
                            SalePointId  = Request.SalePointId,
                            Date         = Request.Date,
                            ProductId    = (int)PTI[i].ProductId,
                            Amount       = (int)PTI[i].Amount,
                            OperatorName = operatorName
                        });
                    }
                }
                ViewBag.message = AgroExpressDBAccess.AddSalePointProduct(newProduct);
                if (ViewBag.message == "yes")
                {
                    return(RedirectToAction(nameof(Index)));
                }
            }
            foreach (ModelState modelState in ViewData.ModelState.Values)
            {
                foreach (ModelError error in modelState.Errors)
                {
                    string errorme = error.ToString();
                }
            }
            List <SalePoint> salePointList = new List <SalePoint>();

            salePointList = AgroExpressDBAccess.GetSalePointListForUSer(HttpContext.User.Identity.Name);
            SalePointProductAdd salePointProductTransfer = new SalePointProductAdd();

            salePointProductTransfer.salepointlist = salePointList.Select(x => new SelectListItem
            {
                Value = x.PKSalePointID.ToString(),
                Text  = x.SalePointName
            });
            List <ProductTransferInfo> PTI1 = new List <ProductTransferInfo>();
            var MilkInfo = AgroExpressDBAccess.IsProductExist("Milk");

            if (MilkInfo != null)
            {
                PTI1.Add(new ProductTransferInfo {
                    ProductId = MilkInfo.PKProductId, Amount = null
                });
            }
            else
            {
                Product MilkInfoAdd = new Product
                {
                    ProductName = "Milk",
                    SellingUnit = "Ltr",
                    Stock       = 0
                };
                AgroExpressDBAccess.AddProduct(MilkInfoAdd);
                MilkInfo = AgroExpressDBAccess.IsProductExist("Milk");
                PTI1.Add(new ProductTransferInfo {
                    ProductId = MilkInfo.PKProductId, Amount = 0
                });
            }
            // Product dropdown list
            var ProductInf = AgroExpressDBAccess.GetAllEnabledProduct();

            ProductInf = ProductInf.Where(a => a.ProductName.ToLower() != "milk").ToList();
            salePointProductTransfer.product = ProductInf.Select(x => new SelectListItem
            {
                Value = x.PKProductId.ToString(),
                Text  = x.ProductName
            });

            //
            int len1 = ProductInf.Count;

            for (int i = 0; i < len1; i++)
            {
                PTI1.Add(new ProductTransferInfo {
                    ProductId = null, Amount = null
                });
            }
            salePointProductTransfer.TransferedProductInfo = PTI1;
            return(View(salePointProductTransfer));
        }