Beispiel #1
0
        public IHttpActionResult PostUnit(Unit unit)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var id = ((ClaimsIdentity)User.Identity).GetUserId();

            if ( db.Units.Any(x => x.Name.ToLower() == unit.Name.ToLower() &&  x.RestaurantId == id && x.IsActive == true))
            {
                return BadRequest("Duplicated Record Name");
            }

                unit.CreatedBy = id;
                unit.CreatedDate = DateTime.Now;
                unit.ModifiedBy = id;
                unit.ModifiedDate = DateTime.Now;
                unit.IsActive = true;
                unit.RestaurantId = id;

            try
            {
                db.Units.Add(unit);
                db.SaveChanges();

            } catch (Exception e)
            {
                ErrorSignal.FromCurrentContext().Raise(e);
                throw new Exception("There was a problem saving this record: " + e.Message);

            }

            return CreatedAtRoute("GetUnitId", new { id = unit.UnitId }, unit);
        }
Beispiel #2
0
        public IHttpActionResult PutUnit(int id, Unit unit)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != unit.UnitId)
            {
                return BadRequest();
            }

            db.Entry(unit).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UnitExists(id))
                {
                    return NotFound();
                }
                else
                {
                  //  ErrorSignal.FromCurrentContext().Raise(e); //ELMAH Signaling
                    throw;
                }

            }

            return StatusCode(HttpStatusCode.NoContent);
        }