public ActionResult _LiabilityUpdateForm(StockLiabilityCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                StockLiabilityListCreateViewModel liabilities = (StockLiabilityListCreateViewModel)HttpContext.Session["LIABILITIES"];
                StockLiabilityCreateViewModel     updateModel = liabilities.Liabilities.Where(x => x.Id == model.Id).FirstOrDefault();

                updateModel.Value = model.Value;

                StockCreateViewModel stock = (StockCreateViewModel)HttpContext.Session["STOCK"];
                double totalLiabilityValue = liabilities != null?liabilities.Liabilities.Sum(x => x.Value.HasValue?x.Value.Value : 0) : 0;

                if (stock.StockValue < totalLiabilityValue && totalLiabilityValue > 0)
                {
                    ModelState.AddModelError("CompareStockValueAndLiabilityValue", "Giá trị tổng số nợ không vượt quá giá trị cổ phiếu");
                    return(PartialView(model));
                }
                else
                {
                    updateModel.Id                     = model.Id;
                    updateModel.Source                 = model.Source;
                    updateModel.InterestType           = model.InterestType;
                    updateModel.InterestRate           = model.InterestRate;
                    updateModel.StartDate              = model.StartDate;
                    updateModel.EndDate                = model.EndDate;
                    HttpContext.Session["LIABILITIES"] = liabilities;
                    return(Content("success"));
                }
            }
            else
            {
                return(PartialView(model));
            }
        }
        public ActionResult _LiabilityUpdateForm(int id)
        {
            StockLiabilityListCreateViewModel liabilities = (StockLiabilityListCreateViewModel)HttpContext.Session["LIABILITIES"];
            StockLiabilityCreateViewModel     model       = liabilities.Liabilities.Where(x => x.Id == id).FirstOrDefault();

            return(PartialView(model));
        }
        public ActionResult _LiabilityForm2nd(StockLiabilityCreateViewModel model)
        {
            double totalLiabilityValue = StockLiabilityQueries.GetLiabilityValueOfStock(model.AssetId);
            double stockValue          = StockQueries.GetStockValue(model.AssetId);

            if (stockValue < totalLiabilityValue + model.Value && totalLiabilityValue + model.Value > 0)
            {
                ModelState.AddModelError("CompareStockValueAndLiabilityValue", "Giá trị tổng số nợ không vượt quá giá trị cổ phiếu");
            }

            if (ModelState.IsValid)
            {
                int result = StockLiabilityQueries.AddStockLiability(model);
                if (result > 0)
                {
                    return(Content("success"));
                }
                else
                {
                    return(Content("failed"));
                }
            }
            else
            {
                return(PartialView(model));
            }
        }
        public ActionResult _LiabilityForm2nd(int id)
        {
            StockLiabilityCreateViewModel model = new StockLiabilityCreateViewModel();

            model.AssetId = id;
            return(PartialView(model));
        }
        public static int AddStockLiability(StockLiabilityCreateViewModel model)
        {
            DateTime current  = DateTime.Now;
            Entities entities = new Entities();

            string username    = entities.Assets.Where(x => x.Id == model.AssetId).FirstOrDefault().Username;
            var    transaction = entities.StockTransactions.Where(x => x.AssetId == model.AssetId).FirstOrDefault();

            Liabilities liability = new Liabilities();

            liability.Name             = model.Source;
            liability.Value            = model.Value.Value;
            liability.InterestType     = model.InterestType;
            liability.InterestRate     = model.InterestRate.Value;
            liability.InterestRatePerX = model.InterestRatePerX;
            liability.StartDate        = model.StartDate.Value;
            liability.EndDate          = model.EndDate.Value;
            liability.LiabilityType    = (int)Constants.Constants.LIABILITY_TYPE.STOCK;
            liability.CreatedDate      = current;
            liability.CreatedBy        = Constants.Constants.USER;
            liability.Username         = username;
            liability.TransactionId    = transaction.Id;
            liability.AssetId          = transaction.AssetId;

            entities.Liabilities.Add(liability);
            return(entities.SaveChanges());
        }
        public ActionResult _LiabilityForm(StockLiabilityCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                int id = 1;
                StockLiabilityListCreateViewModel liabilities = (StockLiabilityListCreateViewModel)HttpContext.Session["LIABILITIES"];
                StockCreateViewModel stock = (StockCreateViewModel)HttpContext.Session["STOCK"];
                double totalLiabilityValue = liabilities != null?liabilities.Liabilities.Sum(x => x.Value.HasValue?x.Value.Value : 0) : 0;

                if (stock.StockValue < totalLiabilityValue + model.Value && totalLiabilityValue + model.Value > 0)
                {
                    ModelState.AddModelError("CompareStockValueAndLiabilityValue", "Giá trị tổng số nợ không vượt quá giá trị cổ phiếu");
                    return(PartialView(model));
                }
                else
                {
                    if (liabilities == null)
                    {
                        liabilities = new StockLiabilityListCreateViewModel();
                    }
                    else
                    {
                        if (liabilities.Liabilities.Count > 0)
                        {
                            id = liabilities.Liabilities.Max(x => x.Id) + 1;
                        }
                        else
                        {
                            id = 1;
                        }
                    }
                    model.Id = id;
                    liabilities.Liabilities.Add(model);
                    HttpContext.Session["LIABILITIES"] = liabilities;
                    return(Content("success"));
                }
            }
            else
            {
                return(PartialView(model));
            }
        }
        public ActionResult _LiabilityForm()
        {
            StockLiabilityCreateViewModel model = new StockLiabilityCreateViewModel();

            return(PartialView(model));
        }