public static StockUpdateViewModel GetStockById(int id)
        {
            StockUpdateViewModel viewmodel = new StockUpdateViewModel();
            Entities             entities  = new Entities();
            var stock = entities.Assets.Where(x => x.Id == id).FirstOrDefault();

            viewmodel.Id   = stock.Id;
            viewmodel.Name = stock.AssetName;
            viewmodel.Note = stock.Note;

            var transaction = entities.StockTransactions.Where(x => x.AssetId == id && !x.DisabledDate.HasValue).FirstOrDefault();

            viewmodel.NumberOfStock    = transaction.NumberOfShares;
            viewmodel.SpotRice         = transaction.SpotPrice;
            viewmodel.StockValue       = transaction.Value;
            viewmodel.ExpectedDividend = transaction.ExpectedDividend;

            //var liability = entities.Liabilities.Where(x => x.TransactionId == transaction.Id && !x.DisabledDate.HasValue).FirstOrDefault();
            //viewmodel.Liabilities.Liabilities.Add(new StockLiabilityCreateViewModel
            //{
            //    Id = liability.Id,
            //    Value = liability.Value,
            //    Source = liability.Name,
            //    InterestRate = liability.InterestRate / 100,
            //    InterestType = liability.InterestType.Value,
            //    InterestRatePerX = liability.InterestRatePerX,
            //    StartDate = liability.StartDate,
            //    EndDate = liability.EndDate
            //});
            return(viewmodel);
        }
        public ActionResult _StockUpdateForm(StockUpdateViewModel model)
        {
            double totalLiabilityValue = StockLiabilityQueries.GetLiabilityValueOfStock(model.Id);

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

            StockUpdateViewModel stock = StockQueries.GetStockById(model.Id);

            if (!stock.Name.Equals(model.Name) && StockQueries.CheckExistStock(UserQueries.GetCurrentUsername(), model.Name))
            {
                ModelState.AddModelError("DuplicateName", "Cổ phiếu này đã tồn tại");
            }

            if (ModelState.IsValid)
            {
                int result = StockQueries.UpdateStock(model);
                if (result > 0)
                {
                    return(Content("success"));
                }
                else
                {
                    return(Content("failed"));
                }
            }
            else
            {
                return(PartialView(model));
            }
        }
示例#3
0
        public IHttpActionResult Update(StockUpdateViewModel updateModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            UpdateInventoryCommand command = UpdateInventoryCommand.Create(updateModel.Name, updateModel.System, updateModel.Goods.Select(g => new Dto.InventoryItem()
            {
                Buy       = g.Buy,
                Category  = g.Category,
                Sell      = g.Sell,
                Commodity = g.Name
            }).ToArray());

            _Bus.Publish(command);

            return(Ok(command.Id));
        }
        public static int UpdateStock(StockUpdateViewModel model)
        {
            Entities entities = new Entities();
            var      stock    = entities.Assets.Where(x => x.Id == model.Id).FirstOrDefault();

            stock.AssetName = model.Name;
            stock.Note      = model.Note;
            entities.Assets.Attach(stock);
            entities.Entry(stock).State = System.Data.Entity.EntityState.Modified;

            StockTransactions transaction = entities.StockTransactions.Where(x => x.AssetId == model.Id).FirstOrDefault();

            transaction.Name             = "Tạo cổ phiếu " + stock.AssetName;
            transaction.NumberOfShares   = model.NumberOfStock.Value;
            transaction.SpotPrice        = model.SpotRice.Value;
            transaction.Value            = model.StockValue.Value;
            transaction.ExpectedDividend = model.ExpectedDividend.Value;
            entities.StockTransactions.Attach(transaction);
            entities.Entry(transaction).State = System.Data.Entity.EntityState.Modified;

            return(entities.SaveChanges());
        }
        public ActionResult _StockUpdateForm(int id)
        {
            StockUpdateViewModel model = StockQueries.GetStockById(id);

            return(PartialView(model));
        }