示例#1
0
        public ActionResult Editar(string id, SocioViewModel model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var socio = new SocioWeb
                    {
                        Id = id,
                        NombreApellidoORazonSocial = model.NombreApellidoORazonSocial,
                        Telefono   = model.Telefono,
                        NroCuenta  = model.NroCuenta,
                        TipoCuenta = model.TipoCuenta,
                        IdSucursal = model.IdSucursal.Value
                    };
                    SociosRepositorio.Actualizar(socio);

                    _controllerHelper.CargarResultadoOk("El Socio fue editado correctamente!");
                }
                catch (Exception)
                {
                    _controllerHelper.CargarError("No se pudo editar el Socio.");
                }
            }

            CargarListasSocioViewModel(model);
            return(View(model));
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="socio"></param>
        /// <returns></returns>
        public async Task <SocioViewModel> UpdateSocioAsync(SocioViewModel socio)
        {
            try
            {
                _repository.ModifyEntity(_mapper.Map <SocioViewModel, Socio>(socio));
                await _repository.SaveAllAsync();
            }
            catch (DbUpdateConcurrencyException e)
            {
                if (!await SocioExistsAsync(socio.Id))
                {
                    _logger.LogError($"Failed to update Socio {socio.Id}. Not found: {e}");
                    return(null);
                }
                else
                {
                    _logger.LogError($"Failed to update Pista {socio.Id}.  Unknown Problem: {e}");
                    throw new Exception("Unknown problem with the database", e);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to Update Pista: {ex}");
                return(null);
            }

            return(socio);
        }
示例#3
0
        public ActionResult Agregar()
        {
            var viewModel = new SocioViewModel();

            CargarListasSocioViewModel(viewModel);

            return(View(viewModel));
        }
示例#4
0
        public ActionResult Agregar(SocioViewModel model)
        {
            if (ModelState.IsValid)
            {
                string idUsuario;
                var    identityResultado = UsuariosRepositorio.Agregar(model.Email, out idUsuario);
                if (identityResultado.Succeeded)
                {
                    var socio = new SocioWeb
                    {
                        Id = idUsuario,
                        NombreApellidoORazonSocial = model.NombreApellidoORazonSocial,
                        Telefono   = model.Telefono,
                        NroCuenta  = model.NroCuenta,
                        TipoCuenta = model.TipoCuenta,
                        IdSucursal = model.IdSucursal.Value
                    };

                    string tokenActivacion  = UsuariosRepositorio.GenerarTokenActivacionCuenta(idUsuario);
                    string urlActivarCuenta = String.Format("{0}{1}",
                                                            Request.Url.GetLeftPart(UriPartial.Authority),
                                                            Url.Action("ActivarCuenta", "Acceso", new { u = socio.Id, c = tokenActivacion }));

                    try
                    {
                        SociosRepositorio.Agregar(socio);
                        UsuariosRepositorio.AsignarRol(idUsuario, RolesNombres.SOCIO);

                        var correos = new ServidorCorreos();
                        correos.EnviarCorreo(model.Email, "Activación de Cuenta", "ActivarCuentaSocio",
                                             campos: new Dictionary <string, string>
                        {
                            { "ActivarCuentaURL", urlActivarCuenta }
                        });

                        _controllerHelper.CargarResultadoOk(String.Format("El Socio {0} fue creado correctamente!", model.Email));

                        ModelState.Clear();
                        model = new SocioViewModel();
                    }
                    catch (Exception)
                    {
                        SociosRepositorio.Eliminar(idUsuario);
                        UsuariosRepositorio.Eliminar(idUsuario);

                        throw;
                    }
                }
                else
                {
                    _controllerHelper.CargarErrores(identityResultado.Errors);
                }
            }

            CargarListasSocioViewModel(model);
            return(View(model));
        }
示例#5
0
        public async Task <ActionResult <SocioViewModel> > PostSocio(SocioViewModel socio)
        {
            if (socio == null)
            {
                return(BadRequest());
            }

            var id = await _socioService.Add(socio);

            return(Created($"api/Socios/{id}", socio));
        }
示例#6
0
        public async Task <SocioViewModel> CreateSocioAsync(SocioViewModel socio)
        {
            try
            {
                _repository.AddEntity(socio);
                await _repository.SaveAllAsync();
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to get Socio: {ex}");
                return(null);
            }

            return(socio);
        }
        public ActionResult Create(SocioViewModel view)
        {
            if (!ModelState.IsValid)
            {
                return(HttpNotFound());
            }
            string path = string.Empty;
            string pic  = string.Empty;


            if (view.Foto != null)
            {
                pic  = System.IO.Path.GetFileName(view.Foto.FileName);
                path = System.IO.Path.Combine(Server.MapPath("~/Content/Foto"), pic);
                view.Foto.SaveAs(path);
                using (MemoryStream ms = new MemoryStream())
                {
                    view.Foto.InputStream.CopyTo(ms);
                    byte[] array = ms.GetBuffer();
                }
            }

            var socio = new Socio
            {
                Nombre           = view.Nombre,
                Apellido         = view.Apellido,
                Cedula           = view.Cedula,
                Foto             = pic == string.Empty ? string.Empty : string.Format("~/Content/Foto/{0}", pic),
                Direccion        = view.Direccion,
                Telefono         = view.Telefono,
                Sexo             = view.Sexo,
                Edad             = view.Edad,
                FechaNacimiento  = view.FechaNacimiento,
                Afiliados        = view.Afiliados,
                Membresia        = view.Membresia,
                LugarTrabajo     = view.LugarTrabajo,
                DireccionOficina = view.DireccionOficina,
                TelefonoOficina  = view.TelefonoOficina,
                EstadoMembresia  = view.EstadoMembresia,
                FechaIngreso     = view.FechaIngreso,
                FechaSalida      = view.FechaSalida
            };

            db.Socios.Add(socio);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#8
0
        public async Task <ActionResult <SocioViewModel> > PostSocio([FromBody] SocioViewModel socio)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            try
            {
                await _serviceCms.CreateSocioAsync(socio);
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to create Socio: {ex}");
                return(BadRequest("Failed Create Socio"));
            }

            return(CreatedAtAction("GetSocio", new { id = socio.Id }, socio));
        }
示例#9
0
        public async Task <IHttpActionResult> GetSocio()
        {
            var tarjeta = await _tarjetaRepository.ObtenerTarjetaAsync(User.ToDinersUser().IdTarjeta);

            if (tarjeta == null)
            {
                return(NotFound());
            }

            var socioViewModel = new SocioViewModel
            {
                Nombre          = tarjeta.Socio.Nombre,
                SegundoNombre   = tarjeta.Socio.SegundoNombre,
                ApellidoPaterno = tarjeta.Socio.ApellidoPaterno,
                ApellidoMaterno = tarjeta.Socio.ApellidoMaterno
            };

            return(Ok(socioViewModel));
        }
示例#10
0
        public async Task <IActionResult> PutSocio(int id, [FromBody] SocioViewModel socio)
        {
            if (socio == null || id != socio.Id)
            {
                return(BadRequest());
            }

            int val = await _socioService.Update(socio);

            if (val == 0)
            {
                return(StatusCode(304));
            }
            else if (val == -1)
            {
                return(StatusCode(412, "DbUpdateConcurrencyException"));
            }
            else
            {
                return(Accepted(socio));
            }
        }
示例#11
0
        public ActionResult Editar(string id)
        {
            var socio   = SociosRepositorio.Obtener(id);
            var usuario = UsuariosRepositorio.ObtenerPorId(id);

            if (socio == null || usuario == null)
            {
                return(RedirectToAction("Index"));
            }

            var viewModel = new SocioViewModel
            {
                Email = usuario.Email,
                NombreApellidoORazonSocial = socio.NombreApellidoORazonSocial,
                Telefono   = socio.Telefono,
                NroCuenta  = socio.NroCuenta,
                TipoCuenta = socio.TipoCuenta,
                IdSucursal = socio.IdSucursal
            };

            CargarListasSocioViewModel(viewModel);

            return(View(viewModel));
        }
示例#12
0
        public async Task <ActionResult <SocioViewModel> > PutSocio([FromRoute] int id, [FromBody] SocioViewModel socio)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != socio.Id)
            {
                return(BadRequest("Id from route is different from entity"));
            }

            try
            {
                socio = await _serviceCms.UpdateSocioAsync(socio);

                if (socio == null)
                {
                    return(NotFound($"Socio {id} Not found"));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to Update Socio: {ex}");
                return(BadRequest($"Failed to update socio {socio.Id}"));
            }

            return(NoContent());
        }
示例#13
0
 public void CargarListasSocioViewModel(SocioViewModel viewModel)
 {
     viewModel.SucursalesSelectList  = ListasHelper.CrearSucursalesSelectList();
     viewModel.TiposCuentaSelectList = ListasHelper.CrearTiposCuentaSelectList();
 }
示例#14
0
 public ActionResult VerTramitesSubidos(string id, SocioViewModel model)
 {
     return(View(model));
 }