예제 #1
0
        public IHttpActionResult Post([FromBody] MajorDto form)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var major = Mapper.Map <MajorDto, Major>(form);

                    _majorService.Add(major);

                    var majorDto = GetMajorDto(major);

                    return(Created(new Uri(majorDto.Url), majorDto));
                }
                catch (ArgumentNullException ane)
                {
                    ModelState.AddModelError("", ane.Message);
                }
                catch (PreexistingEntityException pe)
                {
                    ModelState.AddModelError("", pe.Message);
                }
            }

            return(BadRequest(ModelState));
        }
예제 #2
0
        public IHttpActionResult Put(int id, [FromBody] MajorDto form)
        {
            if (ModelState.IsValid)
            {
                var majorInDb = _majorService.Get(id);

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

                try
                {
                    Mapper.Map(form, majorInDb);

                    _majorService.Update(majorInDb);

                    return(Ok());
                }
                catch (ForeignKeyEntityException fkee)
                {
                    ModelState.AddModelError("", fkee.Message);
                }
            }

            return(BadRequest(ModelState));
        }
예제 #3
0
        public async Task <IActionResult> Update([FromBody] MajorDto dto)
        {
            var result = await _majorService.UpdateAsync(dto);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(result));
        }
예제 #4
0
        public async Task <ActionResult> Save(MajorFormViewModel form)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    MajorDto major = (form.IsNew)
                        ? new MajorDto()
                        : await _majorRepository.GetMajorById(form.Id.Value);

                    major.Name = form.Name;

                    if (form.IsNew)
                    {
                        await _majorRepository.PostMajor(major);
                    }
                    else
                    {
                        await _majorRepository.PutMajor(major.Id.Value, major);
                    }

                    AddPageAlerts(ViewHelpers.PageAlertType.Success, "Your changes have been saved succesfully.");

                    return(RedirectToAction("Index"));
                }
                catch (BadRequestException bre)
                {
                    AddErrorsFromAdycHttpExceptionToModelState(bre, ModelState);
                }
            }

            // Add properties to layout
            AddPageHeader(form.Title, "");

            AddBreadcrumb("Majors", Url.Action("Index", "Majors", new { area = "Admin" }));
            AddBreadcrumb(form.Title, "");

            return(View("MajorForm", form));
        }
예제 #5
0
 public MajorFormViewModel(MajorDto major)
 {
     Id   = major.Id;
     Name = major.Name;
 }