Example #1
0
        public JsonResult Delete(long id)
        {
            LabourRate rate = _context.LabourRate.Where(b => b.Id == id).FirstOrDefault();

            _context.Entry(rate).State = EntityState.Deleted;
            _context.SaveChanges();

            return(Json(Ok()));
        }
Example #2
0
        public IActionResult Post([FromBody] LabourRateDto r)
        {
            if (r == null)
            {
                return(BadRequest());
            }

            LabourRate rate = new LabourRate(r.EffectiveFrom, r.EffectiveTo, r.RatePerHour, r.OverTimeRatePerHour, r.Role);

            _context.LabourRate.Add(rate);
            _context.SaveChanges();

            return(Ok(rate.Id));
        }
Example #3
0
        public double GetRateForTimesheet(Timesheet ts)
        {
            List <LabourRate> rates = _context.LabourRate.ToList();

            LabourRate rate = rates.Where(r => r.Role.Equals(ts.Role) && r.EffectiveFrom <= ts.WeekStarting &&
                                          (r.EffectiveTo == null || r.EffectiveTo >= ts.WeekStarting)).FirstOrDefault();

            if (rate != null)
            {
                return(rate.RatePerHour);
            }

            return(0.0);
        }
Example #4
0
        public IActionResult Put([FromBody] LabourRateDto r)
        {
            if (r == null)
            {
                return(BadRequest());
            }
            LabourRate rate = _context.LabourRate.Where(b => b.Id == r.Id).FirstOrDefault();

            if (rate != null)
            {
                rate.EffectiveFrom       = r.EffectiveFrom;
                rate.EffectiveTo         = r.EffectiveTo;
                rate.RatePerHour         = r.RatePerHour;
                rate.OverTimeRatePerHour = r.OverTimeRatePerHour;

                _context.SaveChanges();
            }

            return(new NoContentResult());
        }