public async Task <IHttpActionResult> PutValuationDetail(int id, ValuationDetail valuationDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != valuationDetail.Id) { return(BadRequest()); } db.Entry(valuationDetail).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ValuationDetailExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public void ValuePositions(List <Portfolio> portfolios, List <PriceValue> prices, int valuationId) { DateTime valuationTime = prices[0].PriceDate; ValuationTime = valuationTime; //delete any valuations that exists with the same valuationTime _valuationDetailRepo.Delete(valuationId, ValuationTime); _valuationRepo.SaveChanges(); foreach (Portfolio p in portfolios) { foreach (PortfolioPosition pp in p.PortfolioPositions) { ValuationDetail vDetail = new ValuationDetail(); vDetail.PortfolioId = pp.PortfolioId; vDetail.ValuationId = valuationId; vDetail.ValuationTime = valuationTime; vDetail.PortfolioPositionId = pp.Id; vDetail.Quantity = pp.Quantity; vDetail.Price = prices.Where(x => x.Symbol == pp.Symbol.Trim()).FirstOrDefault().Price; vDetail.IntradayChange = prices.Where(x => x.Symbol == pp.Symbol.Trim()).FirstOrDefault().IntradayChange; vDetail.PositionValue = vDetail.Quantity * vDetail.Price; _valuationDetailRepo.Insert(vDetail); _valuationDetailRepo.SaveChanges(); } } ValuationStatus = "Success"; }
public async Task <IHttpActionResult> GetValuationDetail(int id) { ValuationDetail valuationDetail = await db.ValuationDetails.FindAsync(id); if (valuationDetail == null) { return(NotFound()); } return(Ok(valuationDetail)); }
public async Task <IHttpActionResult> PostValuationDetail(ValuationDetail valuationDetail) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.ValuationDetails.Add(valuationDetail); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = valuationDetail.Id }, valuationDetail)); }
public async Task <IHttpActionResult> DeleteValuationDetail(int id) { ValuationDetail valuationDetail = await db.ValuationDetails.FindAsync(id); if (valuationDetail == null) { return(NotFound()); } db.ValuationDetails.Remove(valuationDetail); await db.SaveChangesAsync(); return(Ok(valuationDetail)); }
public void InsertValuationDetailTest() { ValuationDetailRepo _repo = new ValuationDetailRepo(); ValuationDetail vDetail = new ValuationDetail(); vDetail.ValuationId = 1000; vDetail.ValuationTime = DateTime.Now; vDetail.PortfolioPositionId = 1; vDetail.PortfolioId = 100; vDetail.PositionValue = 35000; vDetail.Quantity = 500; _repo.Insert(vDetail); _repo.SaveChanges(); }
public void Insert(ValuationDetail valuationDetail) { valuationDetail.CreationDate = DateTime.Now; _db.ValuationDetails.Add(valuationDetail); }
public void Update(ValuationDetail valuationDetail) { valuationDetail.RevisionDate = DateTime.Now; _db.Entry(valuationDetail).State = EntityState.Modified; }