public ActionResult CadastrarComponente(ComponenteViewModel viewModel, FormCollection collection) { Componente model = null; try { if (BL.Componente.Get(a => a.CH == viewModel.CH && a.Nome == viewModel.Nome).Any()) { TempData["Error"] = true; TempData["ErrorMessage"] = "Erro ao cadastrar Componente. Já existe um componente com o mesmo nome e carga horária."; return(RedirectToAction("Index")); } var teste = collection["tipoAmbiente"].Split(','); var arrayIdAreasAtuacao = Array.ConvertAll(collection["idsAreaAtuacao"].Split(';'), t => int.Parse(t)); int[] idTipoAmbiente = Array.ConvertAll(teste, s => int.Parse(s)); model = ComponenteViewModel.MapToModel(viewModel); var areas = BL.AreaAtuacao.Get(a => arrayIdAreasAtuacao.Contains(a.IdAreaAtuacao), null, "").ToList(); var componente = BL.Componente.InserirComponente(model, idTipoAmbiente); BL.Componente.AtualizarAreAtuacaoComponente(componente, areas); TempData["Sucesso"] = true; TempData["SucessoMessage"] = "Cadastro de Componente realizado com sucesso."; } catch (Exception ex) { TempData["Error"] = true; TempData["ErrorMessage"] = (ex.GetType().Name == "CustomException") ? ex.Message : "Erro ao cadastrar Componente."; Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex); } return(RedirectToAction("Index")); }
public ActionResult EditarComponente(ComponenteViewModel viewModel, FormCollection collection) { try { var tiposAmbientesId = collection["tipoAmbiente"].Split(','); int[] idTipoAmbiente = Array.ConvertAll(tiposAmbientesId, s => int.Parse(s)); var arrayIdAreasAtuacao = Array.ConvertAll(collection["idsAreaAtuacao"].Split(';'), t => int.Parse(t)); var model = ComponenteViewModel.MapToModel(viewModel); var areas = BL.AreaAtuacao.Get(a => arrayIdAreasAtuacao.Contains(a.IdAreaAtuacao), null, "").ToList(); BL.Componente.AtualizarComponente(model, idTipoAmbiente); BL.Componente.AtualizarAreAtuacaoComponente(model, areas); TempData["Sucesso"] = true; TempData["SucessoMessage"] = "Edição de Componente realizada com sucesso."; } catch (Exception ex) { TempData["Error"] = true; TempData["ErrorMessage"] = (ex.GetType().Name == "CustomException") ? ex.Message : "Erro ao editar Componente."; Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex); } return(RedirectToAction("Index")); }
public ActionResult ModalCadastrarComponente(ComponenteViewModel viewModel) { Componente inserido = new Componente(); Componente model = null; ComponenteViewModel retornoComponente = new ComponenteViewModel(); try { var idTipoAmbiente = Array.ConvertAll(viewModel.TipoAmbienteId.Split(','), a => int.Parse(a)); var idAreaAtuacao = Array.ConvertAll(viewModel.AreaAtuacaoId.Split(','), a => int.Parse(a)); List <AreaAtuacao> listaAreaAtuacao = BL.AreaAtuacao.Get(a => idAreaAtuacao.Contains(a.IdAreaAtuacao)).ToList(); model = ComponenteViewModel.MapToModel(viewModel); inserido = BL.Componente.InserirComponente(model, idTipoAmbiente); BL.Componente.AtualizarAreAtuacaoComponente(inserido, listaAreaAtuacao); inserido = BL.Componente.GetById(inserido.IdComponente); retornoComponente = ComponenteViewModel.MapToViewModel(inserido); retornoComponente.TipoAmbiente = null; retornoComponente.AreaAtuacao = null; TempData["Sucesso"] = true; TempData["SucessoMessage"] = "Cadastro de Componente realizado com sucesso."; } catch (Exception ex) { bool validation = (ex.GetType().Name == "CustomException"); if (!validation) { TempData["Error"] = true; } TempData["ErrorMessage"] = validation ? ex.Message : "Erro ao cadastrar Componente."; Logging.getInstance().Error(TempData["ErrorMessage"].ToString(), ex); return(Json("false", JsonRequestBehavior.AllowGet)); } return(Json(retornoComponente, JsonRequestBehavior.AllowGet)); }