Esempio n. 1
0
        public IActionResult InsertOrUpdateModality(int?id)
        {
            ModalityViewModel modalityViewModel = new ModalityViewModel()
            {
                Modality           = new Modality(),
                EducationLevelList = _unitWork.EducationLevel.GetAll().Select(el => new SelectListItem
                {
                    Text  = el.Name,
                    Value = el.Id.ToString()
                })
            };

            if (id == null)
            {
                modalityViewModel.Modality.Active = true;
                // Crea un nuevo registro
                return(View(modalityViewModel));
            }

            // Actualiza el registro
            modalityViewModel.Modality = _unitWork.Modality.Get(id.GetValueOrDefault());
            if (modalityViewModel == null)
            {
                return(NotFound());
            }
            return(View(modalityViewModel));
        }
Esempio n. 2
0
        public IActionResult InsertOrUpdateModality(ModalityViewModel modalityViewModel)
        {
            if (ModelState.IsValid)
            {
                Action action = Action.None;
                if (modalityViewModel.Modality.Id == 0)
                {
                    action = Action.Create;
                    _unitWork.Modality.Add(modalityViewModel.Modality);
                }
                else
                {
                    action = Action.Update;
                    _unitWork.Modality.Update(modalityViewModel.Modality);
                }

                try
                {
                    _unitWork.Save();
                    if (action == Action.Create)
                    {
                        _notyfService.Success("Modalidad creada correctamente.");
                    }
                    if (action == Action.Update)
                    {
                        _notyfService.Success("Modalidad actualizada correctamente.");
                    }

                    return(RedirectToAction(nameof(Index)));
                }
                catch (DbUpdateException dbUpdateException)
                {
                    if (dbUpdateException.InnerException.Message.Contains("IX_Modalities_Name"))
                    {
                        _notyfService.Error("Ya existe una modalidad con el mismo nombre.");

                        modalityViewModel.EducationLevelList = _unitWork.EducationLevel.GetAll().Select(el => new SelectListItem
                        {
                            Text  = el.Name,
                            Value = el.Id.ToString()
                        });

                        return(View(modalityViewModel));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, dbUpdateException.InnerException.Message);
                    }
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError(string.Empty, exception.Message);
                }
            }
            else
            {
                modalityViewModel.EducationLevelList = _unitWork.EducationLevel.GetAll().Select(el => new SelectListItem
                {
                    Text  = el.Name,
                    Value = el.Id.ToString()
                });

                if (modalityViewModel.Modality.Id != 0)
                {
                    modalityViewModel.Modality = _unitWork.Modality.Get(modalityViewModel.Modality.Id);
                }
            }

            return(View(modalityViewModel));
        }