Example #1
0
        public void Should_return_corresponding_User_Details()
        {
            const string userId = "userId";
            User         user   = new User
            {
                LastName  = "TestLastName",
                FirstName = "TestFirstName"
            };

            _userRepository.Expect(x => x.GetUser(userId)).IgnoreArguments().Return(user);

            UserModel userModel = new UserModel {
                UserId = "userId"
            };

            JsonResult result = _userController.PopulateDetails(userModel);

            Assert.IsNotNull(result);

            Assert.IsAssignableFrom(typeof(UserResultModel), result.Data);
            UserResultModel userResultModel = (UserResultModel)result.Data;

            Assert.AreEqual(user.LastName, userResultModel.LastName);
            Assert.AreEqual(user.FirstName, userResultModel.FirstName);
            Assert.IsEmpty(userResultModel.Message);
        }
        public async Task <IActionResult> Login([FromBody] UserLoginModel loginModel)
        {
            if (ModelState.IsValid)
            {
                UserResultModel authResponse = await identityService.LoginAsync(loginModel.Email, loginModel.Password);

                if (!authResponse.Success)
                {
                    FailedResponseModel badResponse = new FailedResponseModel()
                    {
                        Errors = authResponse.Errors
                    };

                    return(BadRequest(badResponse));
                }

                UserSuccessResponseModel successResponse = new UserSuccessResponseModel()
                {
                    Token = authResponse.Token
                };

                return(Ok(successResponse));
            }

            return(BadRequest(new FailedResponseModel {
                Errors = ModelState.Values.SelectMany(x => x.Errors.Select(y => y.ErrorMessage))
            }));
        }
Example #3
0
        public ActionResult DeleteSupplier(int Supplier_Id)
        {
            UserResultModel resultdata = new UserResultModel();
            M_Supplier      Supplier   = new M_Supplier
            {
                Supplier_Id    = Supplier_Id,
                LastModifiedBy = UserHelper.GetCurrentUserName()
            };
            int OperationStatus = SupplierProxy.Instance.DeleteSupplier(ConfigExtension.GetWebApiUri,
                                                                        "api/Supplier/DeleteSupplier/" + Supplier.Supplier_Id + "?LastModifiedBy=" + Supplier.LastModifiedBy, Supplier);

            if (OperationStatus == (int)operation_status.Delete)
            {
                resultdata.operationstatuscode = (int)operation_status.Delete;//message when Delete record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgDelete");
            }
            else if (OperationStatus == (int)operation_status.Delete_Prevent)
            {
                resultdata.operationstatuscode = (int)operation_status.Delete;//message when Delete record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgDeletePrevent");
            }
            else
            {
                resultdata.operationstatuscode = (int)operation_status.Error;//message when Error record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
            }
            return(Json(resultdata, JsonRequestBehavior.AllowGet));
        }
        public async Task <UserResultModel> RegisterAsync(string email, string password)
        {
            UserResultModel result = new UserResultModel();

            IdentityUser existingUser = await userManager.FindByEmailAsync(email);

            if (existingUser != null)
            {
                result.Success = false;
                result.Errors  = new[] { "User with this email address already exists." };
                return(result);
            }

            IdentityUser newUser = new IdentityUser()
            {
                Email    = email,
                UserName = email,
            };

            IdentityResult createdUser = await userManager.CreateAsync(newUser, password);

            if (!createdUser.Succeeded)
            {
                result.Success = false;
                result.Errors  = createdUser.Errors.Select(x => x.Description);
                return(result);
            }

            result.Success = true;
            result.Token   = JWTGenerator.Create(newUser);

            return(result);
        }
        public async Task <UserResultModel> ResetPasswordAsync(AppUser u, string token, string newPassword)
        {
            var res = new UserResultModel();

            if (!ValidatePasswordResetToken(u, token))
            {
                res.Errors.Add("Invalid token.");
                return(res);
            }

            if (!UserDataValidator.ValidatePassword(newPassword))
            {
                res.Errors.Add("Password does not meet minimum requirments.");
                return(res);
            }

            var newPwdHash = HashUserPassword(u, newPassword);

            u.PasswordHash = newPwdHash;

            _dbContext.Update(u);
            await _dbContext.SaveChangesAsync();

            return(res);
        }
        public async Task <UserResultModel> CreateAsync(AppUser u, string password)
        {
            var res = new UserResultModel();

            if (!UserDataValidator.ValidateEmail(u.Email))
            {
                res.Errors.Add("Invalid email address.");
            }
            if (!UserDataValidator.ValidateUserName(u.UserName))
            {
                res.Errors.Add("Invalid user name.");
            }
            if (!UserDataValidator.ValidateTarget(u.DailyTarget))
            {
                res.Errors.Add("Target has to be at least 0.");
            }
            if (!UserDataValidator.ValidatePassword(password))
            {
                res.Errors.Add("Password does not meet minimum requirments.");
            }

            if (!res.Succeeded)
            {
                return(res);                // stop and return all errors.
            }
            u.PasswordHash = HashUserPassword(u, password);
            _dbContext.Users.Add(u);
            await _dbContext.SaveChangesAsync();

            return(res);
        }
Example #7
0
        public async Task <IActionResult> RunAsync(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = "user/{userUuid}")] HttpRequest req,
            string userUuid)
        {
            Logger.LogInformation("C# HTTP trigger function processed a request.");

            var user = new UserParameter()
            {
                UserUuid = userUuid
            };

            // validation
            var validationResult = await Validation.ValidateAsync(req, user);

            if (!validationResult.IsValid)
            {
                AddBadRequest(req);
                return(validationResult.ErrorActionResult);
            }

            var userResult = new UserResultModel();

            userResult.LastNotificationTime = Notification.LastNotificationTime;
            return(new OkObjectResult(userResult));
        }
Example #8
0
        public void PropertiesTest()
        {
            // preparation
            var model = new UserResultModel();

            // model property access
            Helper.ModelTestHelper.PropetiesTest(model);
        }
Example #9
0
 public async Task ExecuteResultAsync(ActionContext context)
 {
     UserResultModel userResult = new UserResultModel {
         Id = User.Id, Name = User.Name, RoleName = User.Role.Name
     };
     var objectResult = new ObjectResult(userResult);
     await objectResult.ExecuteResultAsync(context);
 }
Example #10
0
        public void Should_return_an_error_message_if_the_UserId_is_empty()
        {
            JsonResult result = _userController.PopulateDetails(new UserModel());

            Assert.IsNotNull(result);

            Assert.IsAssignableFrom(typeof(UserResultModel), result.Data);
            UserResultModel userResultModel = (UserResultModel)result.Data;

            Assert.IsTrue(userResultModel.Message.Length > 0);
        }
Example #11
0
        public void SetStatusTest(UserStatus s)
        {
            // preparation
            var model = new UserResultModel();

            // action
            model.SetStatus(s);
            // assert
            var expected = Enum.GetName(typeof(UserStatus), s);

            Assert.AreEqual(expected, model.UserStatus);
        }
Example #12
0
        public void AddUserResult()
        {
            var timestamp = DateTime.UtcNow;

            var userResult = new UserResultModel
            {
                user_id = "test_user_id",
                result  = 15.55F,
                time    = timestamp
            };

            dataContext.AddOrUpdate(userResult);
        }
Example #13
0
        public ActionResult UploadImage(int Part_Id)
        {
            UserResultModel resultdata = new UserResultModel();

            if (Request.Files[0].ContentLength > 1 * 1024 * 1024)
            {
                resultdata.operationstatuscode = (int)operation_status.Error;//Size is greter then limit.
                resultdata.messagedata         = "Please select a PNG image smaller than 1MB";
                return(Json(resultdata, JsonRequestBehavior.AllowGet));
            }

            VMImage PartImage = new VMImage();

            PartImage.Parent_Id            = Part_Id;
            PartImage.Image.LastModifiedBy = UserHelper.GetCurrentUserName();

            using (var binaryReader = new BinaryReader(Request.Files[0].InputStream))
            {
                PartImage.Image.Image_Data = binaryReader.ReadBytes(Request.Files["ImageData"].ContentLength);
            }

            try
            {
                int OperationStatus = PartProxy.Instance.UpdatePartImage(ConfigExtension.GetWebApiUri,
                                                                         "api/Part/UpdatePartImage", PartImage);

                if (OperationStatus == (int)operation_status.Insert)
                {
                    resultdata.operationstatuscode = (int)operation_status.Insert;//message when inserted.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgInsert");
                }
                else if (OperationStatus == (int)operation_status.Update)
                {
                    resultdata.operationstatuscode = (int)operation_status.Update;//message when Update.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgUpdate");
                }
                else
                {
                    resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                }
            }
            catch (Exception ex)
            {
                resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                resultdata.message             = ex.Message;
            }
            return(Json(resultdata, JsonRequestBehavior.AllowGet));
        }
Example #14
0
        public ActionResult UpdatePartStock(string GroupData)
        {
            JavaScriptSerializer jsSerializer    = new JavaScriptSerializer(new SimpleTypeResolver());
            UpdatePartStock      UpdatePartStock = jsSerializer.Deserialize <UpdatePartStock>(GroupData);//Deserialize list.
            UserResultModel      resultdata      = new UserResultModel();

            if (UpdatePartStock != null)
            {
                UpdatePartStock.ModifiedBy = UserHelper.GetCurrentUserName();
            }

            try
            {
                int OperationStatus = PartStockProxy.Instance.UpdatePartStock(ConfigExtension.GetWebApiUri,
                                                                              "api/PartStock/UpdatePartStock", UpdatePartStock);

                if (OperationStatus == (int)operation_status.Insert)
                {
                    resultdata.operationstatuscode = (int)operation_status.Insert;//message when inserted.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgInsert");
                }
                else if (OperationStatus == (int)operation_status.Update)
                {
                    resultdata.operationstatuscode = (int)operation_status.Update;//message when Update.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgUpdate");
                }
                else if (OperationStatus == (int)operation_status.Duplicate_Record)
                {
                    resultdata.operationstatuscode = (int)operation_status.Duplicate_Record;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgDuplicate");
                }
                else if (OperationStatus == (int)operation_status.Update_Prevent)
                {
                    resultdata.operationstatuscode = (int)operation_status.Duplicate_Record;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgUpdatePrevent");
                }
                else
                {
                    resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                }
            }
            catch (Exception ex)
            {
                resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                resultdata.message             = ex.Message;
            }
            return(Json(resultdata, JsonRequestBehavior.AllowGet));
        }
Example #15
0
        public ActionResult AddUpdateSupplier(M_Supplier Supplier)
        {
            UserResultModel resultdata = new UserResultModel();

            if (Supplier != null)
            {
                Supplier.LastModifiedBy = UserHelper.GetCurrentUserName();
            }

            try
            {
                int OperationStatus = SupplierProxy.Instance.AddUpdateSupplier(ConfigExtension.GetWebApiUri,
                                                                               "api/Supplier/AddUpdateSupplier", Supplier);

                if (OperationStatus == (int)operation_status.Insert)
                {
                    resultdata.operationstatuscode = (int)operation_status.Insert;//message when inserted.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgInsert");
                }
                else if (OperationStatus == (int)operation_status.Update)
                {
                    resultdata.operationstatuscode = (int)operation_status.Update;//message when Update.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgUpdate");
                }
                else if (OperationStatus == (int)operation_status.Duplicate_Record)
                {
                    resultdata.operationstatuscode = (int)operation_status.Duplicate_Record;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgDuplicate");
                }
                else if (OperationStatus == (int)operation_status.Update_Prevent)
                {
                    resultdata.operationstatuscode = (int)operation_status.Duplicate_Record;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgUpdatePrevent");
                }
                else
                {
                    resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                    resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                }
            }
            catch (Exception ex)
            {
                resultdata.operationstatuscode = (int)operation_status.Error;//message when duplicate record.
                resultdata.messagedata         = UserMessage.ResourceManager.GetString("msgError");
                resultdata.message             = ex.Message;
            }
            return(Json(resultdata, JsonRequestBehavior.AllowGet));
        }
Example #16
0
        public void Should_return_an_error_message_if_the_UserId_is_not_found()
        {
            const string userid = "userId";

            _userRepository.Expect(x => x.GetUser(userid)).IgnoreArguments().Return(null);
            JsonResult result = _userController.PopulateDetails(new UserModel {
                UserId = userid
            });

            Assert.IsNotNull(result);

            Assert.IsAssignableFrom(typeof(UserResultModel), result.Data);
            UserResultModel userResultModel = (UserResultModel)result.Data;

            Assert.IsTrue(userResultModel.Message.Length > 0);
        }
        public async Task <UserResultModel> SetUserTarget(int target, string userName)
        {
            var res = new UserResultModel();

            if (!UserDataValidator.ValidateTarget(target))
            {
                res.Errors.Add("Target has to be at least 0.");
                return(res);
            }

            var u = await _dbContext.Users.FirstOrDefaultAsync(u => u.UserName == userName);

            u.DailyTarget = target;
            _dbContext.Update(u);
            await _dbContext.SaveChangesAsync();

            return(res);
        }
Example #18
0
        public void FetchCreatedUser()
        {
            var timestamp = DateTimeOffset.UtcNow;

            var userResult = new UserResultModel
            {
                user_id = "test_user_id",
                result  = 15.55F,
                time    = timestamp
            };

            dataContext.AddOrUpdate(userResult);

            var currentUser = dataContext.SingleOrDefault <UserResultModel>(u => u.user_id == "test_user_id" && u.time == timestamp);

            Assert.IsNotNull(currentUser);
            Assert.AreEqual("test_user_id", currentUser.user_id);
            Assert.AreEqual(15.55F, currentUser.result);
        }
Example #19
0
 public void ShowView(object parameter)
 {
     if (parameter is UserResultModel)
     {
         UserResultModel resultModel = parameter as UserResultModel;
         if (resultModel.UserModel == null)
         {
             MessageBox.Show(this, resultModel.ServerResponse, "Authentication Error", MessageBoxButton.OK, MessageBoxImage.Error);
         }
         else
         {
             this.DialogResult = true;
             this.Close();
         }
     }
     else
     {
         throw new ArgumentException("Invalid parameter type");
     }
 }
        public async Task <UserResultModel> LoginAsync(string email, string password)
        {
            UserResultModel result = new UserResultModel();

            IdentityUser existingUser = await userManager.FindByEmailAsync(email);

            bool userHasValidPassword = await userManager.CheckPasswordAsync(existingUser, password);

            if (existingUser == null || !userHasValidPassword)
            {
                result.Success = false;
                result.Errors  = new[] { "User/password combination is wrong." };
                return(result);
            }

            result.Success = true;
            result.Token   = JWTGenerator.Create(existingUser);

            return(result);
        }
Example #21
0
        public async Task <UserResultModel> GetUserById(Guid id)
        {
            var result = new UserResultModel
            {
                Success = true
            };
            var user = await _context.Users.FindAsync(id);

            if (user == null)
            {
                result.Success = false;
                result.Error   = new ErrorModel
                {
                    Code         = 1001,
                    ErrorMessage = "User is not found"
                };
            }
            else
            {
                result.User = _mapper.Map <UserModel>(user);
            }

            return(result);
        }
        private void Login(object parameter)
        {
            System.Windows.Controls.PasswordBox passwordBox = parameter as System.Windows.Controls.PasswordBox;
            string          textPassword = passwordBox.Password;
            UserResultModel userResult;

            if (Username != "" && textPassword != "")
            {
                userResult = _authenticationService.AuthenticateUser(Username, textPassword);
            }
            else
            {
                userResult = new UserResultModel()
                {
                    UserModel = null, ServerResponse = _nameOrPwdNotSpecifiedInfo
                };
            }

            if (userResult.UserModel != null)
            {
                CurrentUser.Initialize(userResult.UserModel);
            }
            ViewCore.ShowView(userResult);
        }
Example #23
0
        public async Task <UserResultModel> GetUserById(Guid id)
        {
            var result = new UserResultModel
            {
                Success = true
            };
            var user = _users.FirstOrDefault(_ => _.Id == id);

            if (user == null)
            {
                result.Success = false;
                result.Error   = new ErrorModel
                {
                    Code         = 1001,
                    ErrorMessage = "User is not found"
                };
            }
            else
            {
                result.User = user;
            }

            return(result);
        }
Example #24
0
 public void CreateMethod()
 {
     // action
     var model = new UserResultModel();
 }