[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));
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }