public JsonResult GetAll()
        {
            var response = new JsonResultBody();

            response.Status = System.Net.HttpStatusCode.OK;

            try
            {
                var data = _repository.GetAll();
                response.Data = Mapper.Map <IEnumerable <Notification>, IEnumerable <NotificationViewModel> >(data);
            }
            catch (DbEntityValidationException ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;

                foreach (DbEntityValidationResult result in ex.EntityValidationErrors)
                {
                    response.Errors = (from ve in result.ValidationErrors select ve.ErrorMessage).ToList();
                }
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Errors.Add(ex.Message);
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
        public JsonResult Create([Bind(Include = "Id, Name")] NotificationViewModel notification)
        {
            var    response = new JsonResultBody();
            string id       = string.Empty;

            try
            {
                var mapped = Mapper.Map <NotificationViewModel, Notification>(notification);
                id = _repository.Save(mapped);
            }
            catch (DbEntityValidationException ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                foreach (DbEntityValidationResult result in ex.EntityValidationErrors)
                {
                    response.Errors = (from ve in result.ValidationErrors select ve.ErrorMessage).ToList();
                }
            }
            catch (Exception exAplicacion)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Errors.Add(exAplicacion.Message);
            }

            response.Data = new { Id = id };

            return(Json(response));
        }
        public async Task <JsonResult> CreateRole(RoleViewModel model)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var role = await _roleManager.FindByNameAsync(model.Name);

                if (role != null)
                {
                    response.Data = "The role already exists"; return(Json(response));
                }

                await _roleManager.CreateAsync(new IdentityRole(model.Name));
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public ActionResult Delete(string id)
        {
            var response = new JsonResultBody();

            try
            {
                Notification notification = _repository.GetNotificationById(id);
                response.Data = _repository.Delete(notification);
            }
            catch (DbEntityValidationException ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                foreach (DbEntityValidationResult result in ex.EntityValidationErrors)
                {
                    response.Errors = (from ve in result.ValidationErrors select ve.ErrorMessage).ToList();
                }
            }
            catch (Exception exApp)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Errors.Add(exApp.Message);
            }

            return(Json(response));
        }
Example #5
0
        //POST: /api/GestionUsuarios/CrearRole
        public async Task <JsonResult> Delete(ApplicationUserViewModel model)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var usuario = await _userManager.FindByNameAsync(model.UserName);

                if (usuario != null)
                {
                    usuario.Eliminado = true;
                    await _userManager.UpdateAsync(usuario);
                }
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public async Task <JsonResult> UpdateUser(ApplicationUserViewModel user)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var userFrom = await validateExistsUser(user.UserName);

                var role = await _userManager.GetRolesAsync(userFrom);

                await _userManager.RemoveFromRoleAsync(userFrom, role.FirstOrDefault());

                await _userManager.AddToRoleAsync(userFrom, user.Rol);

                AdminLogic _UserLogic = new AdminLogic();
                await _UserLogic.UpdateUser(user);
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
Example #7
0
        //POST: /api/GestionUsuarios/Register
        public async Task <JsonResult> PostApplicationUser(ApplicationUserViewModel model)
        {
            var applicationUser = new ApplicationUser()
            {
                UserName       = model.UserName.Trim().ToLower(),
                NombreCompleto = model.NombreCompleto,
                Edad           = (int)model.Edad,
                Genero         = model.Genero,
                Nacionalidad   = model.Nacionalidad
            };

            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                if (String.IsNullOrEmpty(applicationUser.UserName))
                {
                    applicationUser.UserName = applicationUser.NombreCompleto.Trim().ToLower();
                    var result = await _userManager.CreateAsync(applicationUser, applicationUser.UserName.Trim().ToLower());

                    if (!result.Succeeded)
                    {
                        response.Status = System.Net.HttpStatusCode.Conflict;
                    }
                    else
                    {
                        response.Data = result;
                        var user = await _userManager.FindByNameAsync(applicationUser.UserName);

                        var resultRoles = await _userManager.AddToRoleAsync(user, model.Rol);
                    }
                }
                else
                {
                    var usuario = await _userManager.FindByNameAsync(applicationUser.UserName);

                    if (usuario != null)
                    {
                        usuario.UserName       = model.UserName.Trim().ToLower();
                        usuario.NombreCompleto = model.NombreCompleto;
                        usuario.Edad           = (int)model.Edad;
                        usuario.Genero         = model.Genero;
                        usuario.Nacionalidad   = model.Nacionalidad;
                        await _userManager.UpdateAsync(usuario);
                    }
                }
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
Example #8
0
        //POST: /api/ApplicationUser/Login
        public async Task <JsonResult> Login([FromBody] LoginViewModel model)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var user = await _userManager.FindByNameAsync(model.userName);

                if (user != null && await _userManager.CheckPasswordAsync(user, model.password))
                {
                    var claims = new List <Claim> {
                        new Claim(ClaimTypes.Name, user.UserName),
                        new Claim("Age", user.Edad.ToString()),
                        new Claim("Gender", user.Genero.ToString()),
                        new Claim("National", user.Nacionalidad.ToString()),
                        new Claim("NameComplet", user.NombreCompleto.ToString())
                    };
                    var roles = await _userManager.GetRolesAsync(user);

                    foreach (var item in roles)
                    {
                        claims.Add(new Claim(ClaimTypes.Role, item.ToString()));
                    }

                    var tokenDescriptor = new SecurityTokenDescriptor
                    {
                        Subject            = new ClaimsIdentity(claims),
                        Expires            = DateTime.UtcNow.AddHours(2),
                        SigningCredentials = new SigningCredentials(
                            new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_applicationSettings.JWT_Secret)), SecurityAlgorithms.HmacSha256Signature)
                    };


                    var tokenHandler  = new JwtSecurityTokenHandler();
                    var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                    var token_api     = tokenHandler.WriteToken(securityToken);

                    response.Data = new { token = token_api };

                    UserLogic _UserLogic = new UserLogic();
                    await _UserLogic.SaveLogLogin(user.UserName);
                }
                else
                {
                    response.Status = System.Net.HttpStatusCode.NotAcceptable;;
                }
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public async Task <JsonResult> PostApplicationUser(ApplicationUserViewModel model)
        {
            var applicationUser = new ApplicationUser()
            {
                UserName    = model.UserName.Trim().ToLower(),
                CompletName = model.CompletName,
                Age         = (int)model.Age,
                Nationality = model.Nationality,
                Balance     = model.Balance
            };

            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var result = await _userManager.CreateAsync(applicationUser, applicationUser.UserName.Trim().ToLower());

                if (!result.Succeeded)
                {
                    response.Status = System.Net.HttpStatusCode.Conflict;
                    response.Data   = "El usuario no se pudo crear compruebe el nombre quiza es demasiado corto o el usuario ya existe";
                }
                else
                {
                    response.Data = result;
                    var user = await _userManager.FindByNameAsync(applicationUser.UserName);

                    var resultRoles = await _userManager.AddToRoleAsync(user, model.Rol);
                }
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public async Task <JsonResult> UpdateProducts(ProductsModel modelProduct)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                LogicProducts _LogicProducts = new LogicProducts();
                response.Data = await _LogicProducts.UpdateProducts(modelProduct);
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MessageApplication.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(new JsonResult(response));
        }
Example #11
0
        //POST: /api/GestionUsuarios/CrearRole
        public async Task <JsonResult> GetUsers()
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                UserLogic _UserLogic = new UserLogic();
                response.Data = await _UserLogic.GetUserApp();
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
Example #12
0
        public async Task <JsonResult> BalanceTransfer(TransferViewModel model)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var userLogic = new UserLogic();
                response.Data = new { transferSucces = await userLogic.TransferBalance(User.Identity.Name, model) };
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public async Task <JsonResult> DeleteUser(ApplicationUserDeleteViewModel user)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                var userFrom = await validateExistsUser(user.userName);

                await _userManager.DeleteAsync(userFrom);
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
Example #14
0
        //POST: /api/HistoricalLogin/Login
        public async Task <JsonResult> ReserveProducts(ProductsViewModel model)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                ProductsLogic _ProductsLogic = new ProductsLogic();
                var           user           = await _userManager.FindByNameAsync(User.Identity.Name);

                await _ProductsLogic.ReserveProducts(model, user.Id);
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public async Task <JsonResult> ManagementBalance(ManageBalanceViewModel balance)
        {
            var response = new JsonResultBody
            {
                Status = System.Net.HttpStatusCode.OK
            };

            try
            {
                _ = await validateExistsUser(balance.username);

                var AdminLogic = new AdminLogic();
                await AdminLogic.ManagementBalance(balance);
            }
            catch (Exception ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Data   = MensajesApplicacion.ErrorApplication.ToDescriptionString();
                response.Errors.Add(ex.Message);
            }

            return(Json(response));
        }
        public ActionResult Edit([Bind(Include = "Id, Name")] NotificationViewModel notification)
        {
            var response = new JsonResultBody();

            try
            {
                response.Data = _repository.Edit(Mapper.Map <NotificationViewModel, Notification>(notification));
            }
            catch (DbEntityValidationException ex)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                foreach (DbEntityValidationResult result in ex.EntityValidationErrors)
                {
                    response.Errors = (from ve in result.ValidationErrors select ve.ErrorMessage).ToList();
                }
            }
            catch (Exception exApp)
            {
                response.Status = System.Net.HttpStatusCode.InternalServerError;
                response.Errors.Add(exApp.Message);
            }

            return(Json(response));
        }