Example #1
0
        private IActionResult SavePersonAsync(Person item)
        {
            //Check that Value/Name is unique
            if (_context.Person.AsNoTracking().FirstOrDefault(x => x.EmailAddress == item.EmailAddress && x.PersonId != item.PersonId) != null)
            {
                return(BadRequest("Duplicate entry/value found."));
            }

            var exiting = _context.Person.FirstOrDefault(x => x.PersonId == item.PersonId);

            if (exiting == null)
            {
                //ADD
                HelperExtensions.ClearIdentityValue(ref item);
                HelperExtensions.ClearNullableInts(ref item);
                _context.Person.Add(item);
                return(Created(item));
            }
            else
            {
                //UPDATE
                _context.Entry(exiting).CurrentValues.SetValues(item);
                return(Updated(exiting));
            }
        }
Example #2
0
        private IActionResult SaveVoluntaryMethodologyAsync(VoluntaryMethodology item)
        {
            //Check that Value/Name is unique
            if (_context.VoluntaryMethodology.AsNoTracking().FirstOrDefault(x => x.Value == item.Value && x.VoluntaryMethodologyId != item.VoluntaryMethodologyId) != null)
            {
                return(BadRequest("Duplicate entry/value found."));
            }

            var exiting = _context.VoluntaryMethodology.FirstOrDefault(x => x.VoluntaryMethodologyId == item.VoluntaryMethodologyId);

            if (exiting == null)
            {
                //ADD
                HelperExtensions.ClearIdentityValue(ref item);
                HelperExtensions.ClearNullableInts(ref item);
                _context.VoluntaryMethodology.Add(item);
                return(Created(item));
            }
            else
            {
                //UPDATE
                _context.Entry(exiting).CurrentValues.SetValues(item);
                return(Updated(exiting));
            }
        }
Example #3
0
        public async Task <IActionResult> Post([FromBody] Question question)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var exiting = _context.Questions.FirstOrDefault(x => x.Id == question.Id || (x.Key == question.Key && x.Goal.Id == question.Goal.Id));

            if (exiting == null)
            {
                //ADD
                HelperExtensions.ClearIdentityValue(question);
                HelperExtensions.ClearNullableInts(question);
                _context.Questions.Add(question);
                await _context.SaveChangesAsync();

                return(Created(question));
            }
            else
            {
                //UPDATE
                //_context.Entry(exiting).CurrentValues.SetValues(question);
                if (exiting.Value != question.Value)
                {
                    exiting.Value = question.Value;
                    await _context.SaveChangesAsync();
                }

                return(Updated(exiting));
            }
        }