Beispiel #1
0
        public async Task <IActionResult> Create([FromBody] WorkLocationSaveDto resourceSave)
        {
            _auditTrailRepo.User = User;
            var activity  = Validator.GenerateActivity(resourceSave, TransactionType.ADD);
            var validator = await _validator.Validate(resourceSave);

            if (validator.HasError)
            {
                await _auditTrailRepo.SaveFailedTrail(new AuditTrailFailedSaveDto()
                {
                    Action       = TransactionType.ADD,
                    Activity     = activity,
                    ErrorMessage = validator.Message
                });

                return(BadRequest(validator.Message));
            }
            var workLocation = _mapper.Map <WorkLocation>(resourceSave);

            _crudPattern.Create(workLocation);

            if (!await _crudPattern.SaveChanges())
            {
                return(BadRequest("Nothing has been Saved!"));
            }


            await _auditTrailRepo.SaveSuccessTrail(new AuditTrailSuccessSaveDto()
            {
                Action   = TransactionType.ADD,
                Activity = activity
            });

            return(StatusCode(201));
        }
        public async Task <IActionResult> Create([ModelBinder(BinderType = typeof(JsonModelBinder))][FromBody] CustomerSaveDto resourceSave, IFormFile profilePictureFile)
        {
            _auditTrailRepo.User = User;
            var activity  = Validator.GenerateActivity(resourceSave, TransactionType.ADD);
            var validator = await _validator.Validate(resourceSave);

            if (validator.HasError)
            {
                await _auditTrailRepo.SaveFailedTrail(new AuditTrailFailedSaveDto()
                {
                    Action       = TransactionType.ADD,
                    Activity     = activity,
                    ErrorMessage = validator.Message
                });

                return(BadRequest(validator.Message));
            }
            var customer = _mapper.Map <Customer>(resourceSave);

            _crudPattern.Create(customer);
            var newFileName = $"{Guid.NewGuid()}{Path.GetExtension(profilePictureFile.FileName)}";

            customer.ProfilePictureFileName = newFileName;

            if (!await _crudPattern.SaveChanges())
            {
                return(BadRequest("Nothing has been Saved!"));
            }

            await _blobStorageRepo.UploadFile(profilePictureFile, newFileName);


            await _auditTrailRepo.SaveSuccessTrail(new AuditTrailSuccessSaveDto()
            {
                Action   = TransactionType.ADD,
                Activity = activity
            });

            return(StatusCode(201));
        }
Beispiel #3
0
        public async Task <ErrorValidator> ChangePassword(int userId, ChangePasswordSaveDto resourceSave)
        {
            if (resourceSave.NewPassword != resourceSave.ConfirmNewPassword)
            {
                return(new ErrorValidator("Password Mismatch"));
            }
            var user = await _userRepo.Get(userId);

            if (user == null)
            {
                return(new ErrorValidator("User Doesn't Exist"));
            }
            if (user.Password == AES.Encrypt(resourceSave.NewPassword))
            {
                return(new ErrorValidator("Use Different Password, Detected that it is same as your current password!"));
            }
            _mapper.Map(resourceSave, user);
            if (!await _userRepo.SaveChanges())
            {
                return(new ErrorValidator("Password Fail to Change!!"));
            }
            return(new  ErrorValidator());
        }