[ValidateAntiForgeryToken] //El Create va a recibir un tipo de dato EditViewModel public ActionResult Create(TipoPropiedadEditViewModel tipoProVm) { //Primero debo ver si es valido if (!ModelState.IsValid) { //como no es valido, retorna View(provinciaVm) return(View(tipoProVm)); } //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. TipoPropiedadEditDto tipoProDto = _mapper.Map <TipoPropiedadEditDto>(tipoProVm);//es ProvinciaEditDto, //para mantener la linea de la que vengo, vengo editando if (_servicio.Existe(tipoProDto)) { ModelState.AddModelError(string.Empty, "Tipo de Propiedad ya Existente..."); return(View(tipoProVm)); } try { _servicio.Guardar(tipoProDto); TempData["Msg"] = "Tipo de Propiedad 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(tipoProVm)); } }
private void tsbNuevo_Click(object sender, EventArgs e) { FrmTipoPropiedadAE frm = DI.Create <FrmTipoPropiedadAE>(); frm.Text = "Agregar un Nuevo Tipo de Propiedad"; DialogResult dr = frm.ShowDialog(this); if (dr == DialogResult.OK) { try { TipoPropiedadEditDto tipoPropiedadEditDto = frm.GetTipoPropiedad(); if (_servicio.Existe(tipoPropiedadEditDto)) { MessageBox.Show("Registro repetido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _servicio.Guardar(tipoPropiedadEditDto); DataGridViewRow r = ConstruirFila(); var tipoPropiedadListDto = _mapper.Map <TipoPropiedadListDto>(tipoPropiedadEditDto); SetearFila(r, tipoPropiedadListDto); AgregarFila(r); MessageBox.Show("Registro agregado :) ", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception exception) { MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }