[ValidateAntiForgeryToken] //El Create va a recibir un tipo de dato EditViewModel public ActionResult Create(TipoOperacionEditViewModel tipoOpeVm) { //Primero debo ver si es valido if (!ModelState.IsValid) { //como no es valido, retorna View(provinciaVm) return(View(tipoOpeVm)); } //cuando confirmo que ES Valido //Ahora veo que ese dato no exista ya en la tabla, pero este es un ViewModel, lo debo pasar a //ProvinciaListDto, porque debo pasarlo al servicio, voy al Capa Mapeador >> MappingProfile, y pongo //.ReverseMap(); en CreateMap<ProvinciaListDto, ProvinciaListViewModel>(), para poder ir de un lado a otro. TipoOperacionEditDto tipoOpeDto = _mapper.Map <TipoOperacionEditDto>(tipoOpeVm);//es ProvinciaEditDto, //para mantener la linea de la que vengo, vengo editando if (_servicio.Existe(tipoOpeDto)) { ModelState.AddModelError(string.Empty, "Tipo de Operacion ya Existente..."); return(View(tipoOpeVm)); } try { _servicio.Guardar(tipoOpeDto); TempData["Msg"] = "Tipo de Operacion Agregado :)"; return(RedirectToAction("Index"));//Con RedirectToAction, le digo que una vez que guarde la Provincia, //me dirija a la vista Index del mismo controlador, o sea Provincia. } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); return(View(tipoOpeVm)); } }
private void tsbNuevo_Click(object sender, EventArgs e) { FrmTipoOperacionAE frm = DI.Create <FrmTipoOperacionAE>(); frm.Text = "Agregar un Nuevo Tipo de Operacion"; DialogResult dr = frm.ShowDialog(this); if (dr == DialogResult.OK) { try { TipoOperacionEditDto tipoOperacionEditDto = frm.GetTipoOperacion(); if (_servicio.Existe(tipoOperacionEditDto)) { MessageBox.Show("Registro repetido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _servicio.Guardar(tipoOperacionEditDto); DataGridViewRow r = ConstruirFila(); var tipoOperacionListDto = _mapper.Map <TipoOperacionListDto>(tipoOperacionEditDto); SetearFila(r, tipoOperacionListDto); AgregarFila(r); MessageBox.Show("Registro agregado :) ", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }