Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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";
        }
Esempio n. 3
0
        public async Task <IHttpActionResult> GetValuationDetail(int id)
        {
            ValuationDetail valuationDetail = await db.ValuationDetails.FindAsync(id);

            if (valuationDetail == null)
            {
                return(NotFound());
            }

            return(Ok(valuationDetail));
        }
Esempio n. 4
0
        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));
        }
Esempio n. 5
0
        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();
        }
Esempio n. 7
0
 public void Insert(ValuationDetail valuationDetail)
 {
     valuationDetail.CreationDate = DateTime.Now;
     _db.ValuationDetails.Add(valuationDetail);
 }
Esempio n. 8
0
 public void Update(ValuationDetail valuationDetail)
 {
     valuationDetail.RevisionDate     = DateTime.Now;
     _db.Entry(valuationDetail).State = EntityState.Modified;
 }