public RepositoryResult Register(RESTUserModel model) { var result = new RepositoryResult(); try { var userDb = plantDb.GetCollection <UserModel>("user"); var user = userDb.Find(u => u.Name == model.Username).FirstOrDefault(); if (user == null) { user = new UserModel(); user.Id = ObjectId.GenerateNewId().ToString(); user.Name = model.Username; user.Password = model.Password; userDb.InsertOne(user); result.Successful = true; result.Payload = $"Successfully reigstered user '{model.Username}'."; } else { result.Successful = false; result.Payload = $"User '{model.Username}' already exists."; } } catch (Exception e) { result.Successful = false; result.Payload = e.Message; } return(result); }
public RepositoryResult LoginUser(RESTUserModel model) { var result = new RepositoryResult(); try { var userDb = plantDb.GetCollection <UserModel>("user"); var user = userDb.Find(u => u.Name == model.Username && u.Password == model.Password).FirstOrDefault(); if (user == null) { result.Successful = false; result.Payload = $"Cant login user '{model.Username}'"; } else { result.Successful = true; result.Payload = $"Successfully logged in user '{model.Username}'"; } } catch (Exception e) { result.Successful = false; result.Payload = e.Message; } return(result); }
public ActionResult DeleteUser([FromBody] RESTUserModel model) { var result = userRepostiroy.Delete(model); if (result.Successful) { return(this.Ok(result)); } return(this.BadRequest(result)); }
public RepositoryResult Delete(RESTUserModel model) { var result = new RepositoryResult(); try { var userDb = plantDb.GetCollection <UserModel>("user"); var user = userDb.Find(u => u.Name == model.Username).FirstOrDefault(); if (user == null) { result.Successful = false; result.Payload = "Could not find user with name " + model.Username; } else { if (user.Password == model.Password) { userDb.DeleteOne(u => u.Name == model.Username); result.Successful = true; result.Payload = "Successfully deleted user."; } else { result.Successful = false; result.Payload = "Wrong password."; } } } catch (Exception e) { result.Successful = false; result.Payload = e.Message; } return(result); }