public HttpResponseMessage GetCuenta(HttpRequestMessage request, [FromBody] CuentaViewModel cuentaViewModel)
        {
            TransactionalInformation transaction;

            int cuentaID = cuentaViewModel.CuentaID;

            _cuentaService = new CuentaBusinessService();
            Cuenta cuenta = _cuentaService.GetCuentaByCuentaID(cuentaID, out transaction);

            if (transaction.ReturnStatus == false)
            {
                cuentaViewModel.ReturnStatus     = false;
                cuentaViewModel.ReturnMessage    = transaction.ReturnMessage;
                cuentaViewModel.ValidationErrors = transaction.ValidationErrors;

                var responseError = Request.CreateResponse <CuentaViewModel>(HttpStatusCode.BadRequest, cuentaViewModel);
                return(responseError);
            }

            cuentaViewModel.CuentaID   = cuenta.CuentaID;
            cuentaViewModel.Saldo      = cuenta.Saldo;
            cuentaViewModel.TipoCuenta = cuenta.TipoCuenta;
            cuentaViewModel.UsuarioID  = cuenta.UsuarioID;

            cuentaViewModel.ReturnStatus  = true;
            cuentaViewModel.ReturnMessage = transaction.ReturnMessage;

            var response = Request.CreateResponse <CuentaViewModel>(HttpStatusCode.OK, cuentaViewModel);

            return(response);
        }
        public ActionResult AddAdminUser(CuentaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            using (var db = new SaludOcupacionalEntities())
            {
                // Revisa si el nombre de usuario ya existe
                var usernameExists = db.Cuenta.Any(x => x.nombre == model.nombre);
                if (usernameExists)
                {
                    ModelState.AddModelError("nombre", "Este nombre de usuario ya existe");
                    return(View(model));
                }

                Cuenta oCuenta = new Cuenta();

                oCuenta.nombre     = model.nombre;
                oCuenta.contrasena = CryptoEngine.Encrypt(model.contrasena);
                oCuenta.rol        = 0; // Rol 0 significa "administrador"
                db.Cuenta.Add(oCuenta);

                db.SaveChanges();
            }

            return(Redirect(Url.Content("~/AdminCuenta")));
        }
Beispiel #3
0
        public IActionResult CambiarContraseña(CuentaViewModel vm)
        {
            Repository repos          = new Repository(context);
            var        original       = repos.GetUsuarioById(vm.Usuario.Id);
            var        contraseñaHash = HashingHelper.GetHash(vm.Usuario.Contrasena);

            if (original != null)
            {
                if (vm.Usuario.Contrasena == vm.ConfirmarContraseña)
                {
                    original.Contrasena = contraseñaHash;
                    repos.Update(original);
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ModelState.AddModelError("", "Las contraseñas no coiniciden.");
                    return(View(vm));
                }
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Beispiel #4
0
        public ActionResult ErrorLogin()
        {
            CuentaViewModel error = new CuentaViewModel();

            error.ErrorLogin = "******";

            return(View(error));
        }
        public CuentasController(ApplicationDbContext db)
        {
            _db = db;

            CuentaVM = new CuentaViewModel()
            {
                Cuenta = new Cuenta()
            };
        }
Beispiel #6
0
        public IActionResult CambiarContraseña(int id)
        {
            CuentaViewModel vm    = new CuentaViewModel();
            Repository      repos = new Repository(context);

            vm.Usuario = repos.GetUsuarioById(id);

            return(View(vm));
        }
Beispiel #7
0
        public IActionResult CrearCuenta(CuentaViewModel vm)
        {
            //  LO AGREGO A LA BD PERO CON EL CAMPO ACTIVO EN FALSO.
            try
            {
                if (vm.ConfirmarContraseña == vm.Usuario.Contrasena)
                {
                    Repository repos          = new Repository(context);
                    var        hashContraseña = HashingHelper.GetHash(vm.Usuario.Contrasena);
                    vm.Usuario.Contrasena = hashContraseña;

                    var codigo = GenerarCodigoHelper.GenerarCodigo();

                    vm.Usuario.Codigo = codigo;

                    repos.Insert(vm.Usuario);


                    // MANDO EL CORREO CON UN CODIGO GENERADO RANDOM.
                    MailMessage message = new MailMessage();
                    message.From = new MailAddress("*****@*****.**", "Sistemas171");
                    message.To.Add(vm.Usuario.Correo);
                    message.Subject    = "Confirmación de Registro";
                    message.Body       = $"¡Bienvenido a Sistemas171!<br/> Introduzca el siguiente codigo en la ventana de confirmación para activar su cuenta: {codigo}";
                    message.IsBodyHtml = true;
                    SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
                    client.EnableSsl             = true;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential("*****@*****.**", "correofake1");
                    client.Send(message);

                    return(RedirectToAction("ValidarCodigo", "Home", new { Id = vm.Usuario.Id }));
                }
                else
                {
                    ModelState.AddModelError("", "Las contraseñas no coiniciden.");
                    return(View(vm));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(vm));
            }
        }
        public HttpResponseMessage GetCuentas(HttpRequestMessage request, [FromBody] CuentaViewModel cuentaViewModel)
        {
            TransactionalInformation transaction;

            int currentPageNumber = cuentaViewModel.CurrentPageNumber;

            if (currentPageNumber == 0)
            {
                currentPageNumber = 1;
            }
            int pageSize = cuentaViewModel.PageSize;

            if (pageSize == 0)
            {
                pageSize = 1;
            }
            string sortExpression = cuentaViewModel.SortExpression;
            string sortDirection  = cuentaViewModel.SortDirection;

            _cuentaService = new CuentaBusinessService();

            List <Cuenta> cuentas = _cuentaService.GetCuentasByUsuario(1, currentPageNumber, pageSize, sortExpression, sortDirection, out transaction);

            if (transaction.ReturnStatus == false)
            {
                cuentaViewModel.ReturnStatus     = false;
                cuentaViewModel.ReturnMessage    = transaction.ReturnMessage;
                cuentaViewModel.ValidationErrors = transaction.ValidationErrors;

                var responseError = Request.CreateResponse <CuentaViewModel>(HttpStatusCode.BadRequest, cuentaViewModel);
                return(responseError);
            }

            cuentaViewModel.TotalPages    = transaction.TotalPages;
            cuentaViewModel.TotalRows     = transaction.TotalRows;
            cuentaViewModel.Cuentas       = cuentas;
            cuentaViewModel.ReturnStatus  = true;
            cuentaViewModel.ReturnMessage = transaction.ReturnMessage;

            var response = Request.CreateResponse <CuentaViewModel>(HttpStatusCode.OK, cuentaViewModel);

            return(response);
        }
Beispiel #9
0
        public CuentaPage()
        {
            InitializeComponent();

            BindingContext = _viewModel = ViewModelLocator.CuentaViewModel;
        }
Beispiel #10
0
 public Cuentas()
 {
     InitializeComponent();
     model       = new CuentaViewModel();
     DataContext = model;
 }