예제 #1
0
        public ActionResult Create(ClienteEditViewModel clienteEditVm)
        {
            if (!ModelState.IsValid)
            {
                clienteEditVm.Provincia = _mapper
                                          .Map <List <ProvinciaListViewModel> >(_servicioProvincia.GetLista());

                clienteEditVm.Localidad = _mapper
                                          .Map <List <LocalidadListViewModel> >(_servicioLocalidad.GetLista(null));

                clienteEditVm.TipoDocumento = _mapper
                                              .Map <List <TipoDocumentoListViewModel> >(_servicioTipoDocumento.GetLista());


                return(View(clienteEditVm));
            }

            ClienteEditDto clienteDto = _mapper.Map <ClienteEditDto>(clienteEditVm);

            if (_servicio.Existe(clienteDto))
            {
                ModelState.AddModelError(string.Empty, "Cliente existente...");

                clienteEditVm.Provincia = _mapper
                                          .Map <List <ProvinciaListViewModel> >(_servicioProvincia.GetLista());

                clienteEditVm.Localidad = _mapper
                                          .Map <List <LocalidadListViewModel> >(_servicioLocalidad.GetLista(null));

                clienteEditVm.TipoDocumento = _mapper
                                              .Map <List <TipoDocumentoListViewModel> >(_servicioTipoDocumento.GetLista());


                return(View(clienteEditVm));
            }

            try
            {
                _servicio.Guardar(clienteDto);
                TempData["Msg"] = "Cliente Agregado :) ";
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty, e.Message);
                clienteEditVm.Provincia = _mapper
                                          .Map <List <ProvinciaListViewModel> >(_servicioProvincia.GetLista());

                clienteEditVm.Localidad = _mapper
                                          .Map <List <LocalidadListViewModel> >(_servicioLocalidad.GetLista(null));

                clienteEditVm.TipoDocumento = _mapper
                                              .Map <List <TipoDocumentoListViewModel> >(_servicioTipoDocumento.GetLista());

                return(View(clienteEditVm));
            }
        }
예제 #2
0
        private void tsbNuevo_Click(object sender, EventArgs e)
        {
            FrmClienteAE frm = DI.Create <FrmClienteAE>();

            frm.Text = "Agregar Cliente";
            DialogResult dr = frm.ShowDialog(this);

            if (dr == DialogResult.OK)
            {
                try
                {
                    ClienteEditDto clienteEditDto = frm.GetCliente();
                    if (_servicio.Existe(clienteEditDto))
                    {
                        MessageBox.Show("Registro repetido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    _servicio.Guardar(clienteEditDto);
                    DataGridViewRow r = ConstruirFila();

                    var clienteListDto = _mapper.Map <ClienteListDto>(clienteEditDto);

                    clienteListDto.Provincia = (_servicioProvincia
                                                .GetProvinciaPorId(clienteEditDto.ProvinciaId))
                                               .NombreProvincia;
                    clienteListDto.Localidad = (_servicioLocalidad
                                                .GetLocalidadPorId(clienteEditDto.LocalidadId))
                                               .NombreLocalidad;

                    SetearFila(r, clienteListDto);
                    AgregarFila(r);
                    MessageBox.Show(" Registro agregado :) ", "Mensaje", MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message, "Error", MessageBoxButtons.OK,
                                    MessageBoxIcon.Error);
                }
            }
        }