public async Task <IActionResult> GetSupervisorById(int id)
        {
            string role = HttpContext.User.Claims.Single(x => x.Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role").Value;

            if (role == Role.SupervisorRole)
            {
                string userId           = HttpContext.User.Claims.Single(x => x.Type == "id").Value;
                var    loggedSupervisor = await _coadaptService.Supervisor.GetSupervisorByUserIdAsync(userId);

                if (loggedSupervisor.Id != id)
                {
                    _logger.LogWarn($"SupervisorById: Currently logged in supervisor is not retrieving self!");
                    return(BadRequest("Currently logged in supervisor is not retrieving self"));
                }
            }
            var supervisor = await _coadaptService.Supervisor.GetSupervisorByIdAsync(id);

            if (supervisor.IsEmptyObject())
            {
                _logger.LogWarn($"GetSupervisorById: Supervisor with ID {id} not found!");
                return(NotFound("Supervisor with requested ID does not exist"));
            }
            supervisor.User = await _userManager.FindByIdAsync(supervisor.UserId);

            supervisor.Studies = (ICollection <Study>) await _coadaptService.Study.GetStudiesBySupervisorIdAsync(id);

            return(Ok(supervisor));
        }
        public IActionResult AddProduct( )
        {
            try
            {
                var     ObjJson = Request.Form["product"];
                Product Prod    = JsonConvert.DeserializeObject <Product>(ObjJson);

                if (Prod == null)
                {
                    Log.LogWarn($"the data is not in correct product Format{Prod}");
                    return(BadRequest());
                }

                /*
                 * if (Repo.FindByCondition(x => x.Id == Prod.Id, false).FirstOrDefault() != null)
                 * {
                 *   Log.LogInfo($"The Code Is Not Unique{Prod.Id}");
                 *   return Content("the product Code Isnot Unique");
                 * }*/
                Repo.Create(Prod);
                Prod.lastupdateted = DateTime.Now.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss");
                Repo.SaveChanges();
                Prod.Photo = saveFile(Prod);
                return(Created("Success", Prod));
            }
            catch (Exception ex)
            {
                Log.LogError($"Action is : {nameof(AddProduct)}  Error is  {ex.Message}");
                return(StatusCode(500, " Internal Server Error"));
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> LoginWith2fa(LoginWith2faViewModel model, bool rememberMe, string returnUrl = null)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _signInManager.GetTwoFactorAuthenticationUserAsync();

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var authenticatorCode = model.TwoFactorCode.Replace(" ", string.Empty).Replace("-", string.Empty);

            var result = await _signInManager.TwoFactorAuthenticatorSignInAsync(authenticatorCode, rememberMe, model.RememberMachine);

            if (result.Succeeded)
            {
                _logger.LogInfo($"User with ID {user.Id} logged in with 2fa.");
                return(RedirectToLocal(returnUrl));
            }
            else if (result.IsLockedOut)
            {
                _logger.LogWarn($"User with ID {user.Id} account locked out.");
                return(RedirectToAction(nameof(Lockout)));
            }
            else
            {
                _logger.LogWarn($"Invalid authenticator code entered for user with ID {user.Id}.");
                ModelState.AddModelError(string.Empty, "Invalid authenticator code.");
                return(View());
            }
        }
Esempio n. 4
0
        public async Task <string> AuthenticationAndAuthorization(List <string> permissionto)
        {
            string msg          = "Success";
            var    accessToken  = _httpContextAccessor.HttpContext.Request.Headers["Authorization"];
            var    userPrincpal = await _baseAuth.AuthenticateJwtToken(accessToken);

            if (userPrincpal == null)
            {
                msg = "Unauthorized User credentials is not a valid";

                _logger.LogWarn(msg);
                _logger.LogWarn("Remote IP Client: " + GetRemoteIP());
                _logger.LogWarn("client useragent: " + GetUserAgent());
                _logger.LogWarn("client language: " + GetUserLanguage());
                GetUnknown(); //log custom header in a log file log unauthorized request of each Header of Each Request
                _logger.LogError(msg);
                return(msg);
            }
            var userRigths = await _baseAuth.AuthorizeUser(userPrincpal, permissionto);

            if (!userRigths)
            {
                msg = "Unauthorized User access to the resource is not a valid";
                return(msg);
            }
            return(msg);
        }
Esempio n. 5
0
        public async Task <IActionResult> GetTherapistById(int id)
        {
            string role = HttpContext.User.Claims.Single(x => x.Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/role").Value;

            if (role == Role.TherapistRole)
            {
                string userId          = HttpContext.User.Claims.Single(x => x.Type == "id").Value;
                var    loggedTherapist = await _coadaptService.Therapist.GetTherapistByUserIdAsync(userId);

                if (loggedTherapist.Id != id)
                {
                    _logger.LogWarn($"GetTherapistById: Currently logged in therapist is not retrieving self!");
                    return(BadRequest("Currently logged in therapist is not retrieving self"));
                }
            }
            var therapist = await _coadaptService.Therapist.GetTherapistByIdAsync(id);

            if (therapist.IsEmptyObject())
            {
                _logger.LogWarn($"GetTherapistById: Therapist with ID {id} not found!");
                return(NotFound("Therapist with requested ID does not exist"));
            }
            therapist.User = await _userManager.FindByIdAsync(therapist.UserId);

            therapist.Participants = (ICollection <Participant>) await _coadaptService.Participant.GetParticipantsByTherapistIdAsync(id);

            return(Ok(therapist));
        }
        public ActionResult <CommandReadDto> GetCommandById(int id)
        {
            var commandItem = _commandAPIRepo.GetCommandById(id);

            if (commandItem == null)
            {
                _logger?.LogWarn("command not found");
                return(NotFound());
            }
            return(Ok(_mapper.Map <CommandReadDto>(commandItem)));
        }
        public Response AddResident(string idNumber)
        {
            Response response = new Response()
            {
                Status = 0, Message = ""
            };

            if (string.IsNullOrEmpty(idNumber))
            {
                return(response);
            }

            IdentityHelper helper = new IdentityHelper(idNumber);

            if (helper.IsValid)
            {
                if (residentRepo.GetByID(idNumber) == null)
                {
                    ResidentEntity residentEntity = new ResidentEntity()
                    {
                        IDNumber = helper.IdentityNumber, DateOfBirth = helper.BirthDate, Gender = helper.Gender, Citizenship = helper.IsSouthAfrican
                    };
                    try
                    {
                        residentRepo.Add(residentEntity);
                        response.Status  = 1;
                        response.Message = helper.IdentityNumber + ": Inserted Successfully";
                        logger.LogInfo(helper.IdentityNumber + ": Inserted Successfully");
                    }
                    catch (Exception ex)
                    {
                        response.Status  = -1;
                        response.Message = "Error occoured while processing the request";
                        logger.LogError("Error occoured in ResidentService.AddResident");
                        logger.LogError(ex.Message);
                    }
                }
                else
                {
                    response.Status  = -2;
                    response.Message = helper.IdentityNumber + " South African ID Number already exist!!";
                    logger.LogWarn(helper.IdentityNumber + " South African ID Number already exist!!");
                }
            }
            else
            {
                response.Status  = -3;
                response.Message = helper.IdentityNumber + " Validation failed for the below reasons!!<hr>" + helper.ValidationMessage;
                logger.LogWarn(helper.IdentityNumber + " Validation failed for the below reasons!!");
                logger.LogWarn(helper.ValidationMessage);
            }
            return(response);
        }
        // GET: Admin/Appointment/Details/5
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null || id <= 0)
            {
                _logger.LogWarn($"Null value passed to method {nameof(Details)} in AppointmentController");
                return(RedirectToAction(nameof(Index)));
            }

            var appointment = _mapper.Map <AppointmentManagementDTO>(await _repositoryWrapper.Appointment.GetAppointmentByIdAsync(id));


            return(View(nameof(Details), appointment));
        }
        public ActionResult <PagedList <Contact> > GetContacts([FromQuery] ContactParameters contactParameters)
        {
            try{
                //throw new Exception("Exception while fetching the contacts from the storage.");
                if (!contactParameters.ValidAgeRange)
                {
                    _logger.LogWarn("Wrong parameter: Age");
                    return(BadRequest("Max age cannot be less than min age"));
                }

                var contacts = _repository.Contact.GetContacts(contactParameters);

                var metadata = new
                {
                    contacts.TotalCount,
                    contacts.PageSize,
                    contacts.CurrentPage,
                    contacts.TotalPages,
                    contacts.HasNext,
                    contacts.HasPrevious
                };

                Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

                _logger.LogInfo($"Returned {contacts.Count} out of {contacts.TotalCount} contacts from database.");

                return(Ok(contacts));
            } catch (Exception ex) {
                _logger.LogError($"Exception while fetching the contacts. {ex}");
                return(StatusCode(500, "Internal server error"));
            }
        }
Esempio n. 10
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");

            if (ModelState.IsValid)
            {
                // This doesn't count login failures towards account lockout
                // To enable password failures to trigger account lockout, set lockoutOnFailure: true
                var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure : false);

                if (result.Succeeded)
                {
                    _logger.LogInfo("User logged in.");
                    return(LocalRedirect(returnUrl));
                }
                if (result.RequiresTwoFactor)
                {
                    return(RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, RememberMe = Input.RememberMe }));
                }
                if (result.IsLockedOut)
                {
                    _logger.LogWarn("User account locked out.");
                    return(RedirectToPage("./Lockout"));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "Invalid login attempt.");
                    return(Page());
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
Esempio n. 11
0
        /// <summary>
        /// The invoke.
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task Invoke(HttpContext context)
        {
            try
            {
                await next(context);
            }
            catch (Exception ex)
            {
                if (context.Response.HasStarted)
                {
                    logger.LogWarn(
                        "The response has already started, the http status code middleware will not be executed.");
                    throw;
                }

                context.Response.Clear();

                if (ex is HttpStatusCodeException httpException)
                {
                    context.Response.StatusCode  = (int)httpException.StatusCode;
                    context.Response.ContentType = httpException.ContentType;
                }
                else
                {
                    context.Response.StatusCode  = (int)HttpStatusCode.InternalServerError;
                    context.Response.ContentType = @"application/json";
                    logger.LogError($"0, {ex}, An unhandled exception has occurred: {ex.Message}");
                }

                var result = JsonConvert.SerializeObject(new ErrorResponse(ex.Message));

                logger.LogError(result);
                await context.Response.WriteAsync(result);
            }
        }
 public IEnumerable <string> GetLog()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is an error message from our values controller."); return(new string[] { "value1", "value2" });
 }
Esempio n. 13
0
        public async Task <IActionResult> GetAll(CancellationToken ct)
        {
            //var ipaddress = base.GetRemoteIP();
            var permission = new List <string>()
            {
                "Leader", "Teacher", "Staff", "SuperUser"
            };
            var msg = await base.AuthenticationAndAuthorization(permission);

            if (msg != "Success")
            {
                return(Unauthorized());
            }

            _logger_1.LogDebug(1, "NLog injected into HomeController");
            _logger_1.LogInformation("NLog injected into HomeController");

            _logger.LogInfo("Here is info message from the controller.");
            _logger.LogDebug("Here is debug message from the controller.");
            _logger.LogWarn("Here is warn message from the controller.");
            _logger.LogError("Here is error message from the controller.");


            var studinfo = await _studentService.GetAllStudentAsync(ct);

            if (studinfo == null)
            {
                return(NotFound());
            }
            return(Ok(studinfo));
        }
        public async Task <IActionResult> Authenticate([FromBody] UserForAuthenticationDto user)
        {
            if (!await _authManager.ValidateUser(user))
            {
                _logger.LogWarn($"{nameof(Authenticate)}: Authentication failed. Wrong user name or password.");
                return(Unauthorized());
            }
            var userEntity = await _userManager.FindByNameAsync(user.UserName);

            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.Name, user.UserName)
            };
            var accessToken  = _authManager.GenerateAccessToken(claims);
            var refreshToken = _authManager.GenerateRefreshToken();

            userEntity.RefreshToken           = refreshToken;
            userEntity.RefreshTokenExpiryTime = DateTime.Now.AddDays(7);
            await _repository.SaveAsync();

            return(Ok(new
            {
                Token = accessToken,
                RefreshToken = refreshToken
            }));
        }
 public ActionResult <IEnumerable <string> > Get()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     return(new string[] { "value1", "value2" });
 }
Esempio n. 16
0
 private void RegisterLog()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is error message from our values controller.");
 }
Esempio n. 17
0
 public IActionResult Get()
 {
     _logger.LogInfo("Information");
     _logger.LogError("Error");
     _logger.LogDebug("Debug");
     _logger.LogWarn("Warning");
     return(Ok("working"));
 }
Esempio n. 18
0
 public ActionResult <IEnumerable <string> > Get()
 {
     loger.LogDebug("debug");
     loger.LogError("Error");
     loger.LogInfo("Info");
     loger.LogWarn("Warn");
     return(new string[] { "value1", "value2" });
 }
Esempio n. 19
0
 public IEnumerable <string> Get()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is an error message from our values controller.");
     return(Summaries);
 }
 public Task <IEnumerable <LinkViewModel> > Get()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is error message from our values controller.");
     return(GetAllLinksInternal());
 }
Esempio n. 21
0
 public IActionResult testLogger()
 {
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is error message from our values controller.");
     return(new ObjectResult("value1"));
 }
Esempio n. 22
0
 public ActionResult <string> Get(int id)
 {
     _logger.LogInfo("Here is info message from the controller.");
     _logger.LogDebug("Here is debug message from the controller.");
     _logger.LogWarn("Here is warn message from the controller.");
     _logger.LogError("Here is error message from the controller.");
     return("value   ${id}");
 }
Esempio n. 23
0
        public async Task ProcessUser(List <BulkUser> bulkUsers)
        {
            var logConst = "UserInvite-ProcessUser";

            try
            {
                foreach (var bulkUser in bulkUsers)
                {
                    try
                    {
                        _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Started_Status);

                        #region UserModel

                        var inviteUser = new InviteUser
                        {
                            CustomizedMessageBody   = bulkUser.CustomizedMessageBody,
                            InvitedUserEmailAddress = bulkUser.InviteeEmail,
                            InviteRedeemUrl         = bulkUser.InviteRedirectURL,
                            SendInvitationMessage   = bulkUser.SendEmail.ToString()
                        };


                        #endregion

                        if (string.IsNullOrEmpty(inviteUser.InvitedUserEmailAddress) && string.IsNullOrEmpty(inviteUser.InviteRedeemUrl))
                        {
                            var errorMessage = $"[Cannot send user invite] for bulk user id [{bulkUser.Id}] required field is missing, please correct the record.";

                            _logger.LogWarn(errorMessage);
                            bulkUser.Error = errorMessage;
                            _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status);
                            continue;
                        }


                        var userService = new UserService(_logger);

                        await userService.SendInvite(inviteUser);

                        _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Completed_Status);
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError($"{logConst}:error updating user for bulk user id {bulkUser.Id}");
                        _logger.LogError(ex);

                        bulkUser.Error = $"{ex.ToString()}. Message: {ex.Message}";
                        _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status);
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"{logConst}:Exception occured while processing the bulk user update...");
                _logger.LogError(ex);
            }
        }
Esempio n. 24
0
        public IEnumerable <string> Get()
        {
            _logger.LogInfo("Log Info Message");
            _logger.LogDebug("Log Debug Message");
            _logger.LogError("Log Error Message");
            _logger.LogWarn("Log Warn Message");

            return(new string[] { "Eng", "Rabeeb" });
        }
Esempio n. 25
0
        public IEnumerable <string> Get()
        {
            _logger.LogInfo("Info message");
            _logger.LogDebug("Debug message");
            _logger.LogWarn("Warn message");
            _logger.LogError("Error message");

            return(new string[] { "value1", "value2" });
        }
 public async Task <IActionResult> Authenticate([FromBody] UserForAuthenticationDto user)
 {
     if (!await _authManager.ValidateUser(user))
     {
         _logger.LogWarn($"{nameof(Authenticate)}: Authentication failed. Wrong user name or password.");
         return(Unauthorized());
     }
     return(Ok(new { Token = await _authManager.CreateToken() }));
 }
Esempio n. 27
0
 public IEnumerable <string> GetLog()
 {
     //_repository.Company.AnyMethodFromCompanyRepository();
     //_repository.Employee.AnyMethodFromEmployeeRepository();
     _logger.LogInfo("Here is info message from our values controller.");
     _logger.LogDebug("Here is debug message from our values controller.");
     _logger.LogWarn("Here is warn message from our values controller.");
     _logger.LogError("Here is an error message from our values controller."); return(new string[] { "value1", "value2" });
 }
Esempio n. 28
0
        public ValuesController(ILoggerManager _logger, IRepositoryWrapper repositoryWrapper)
        {
            _logger.LogInfo("Here is info message from our values controller.");
            _logger.LogDebug("Here is debug message from our values controller.");
            _logger.LogWarn("Here is warn message from our values controller.");
            _logger.LogError("Here is error message from our values controller.");

            this._repoWrapper = repositoryWrapper;
            this._logger      = _logger;
        }
Esempio n. 29
0
        public IEnumerable <Users> Get()
        {
            var users = _repoWrapper.Users.FindAll();

            _logger.LogInfo("Here is info message from our values controller.");
            _logger.LogDebug("Here is debug message from our values controller.");
            _logger.LogWarn("Here is warn message from our values controller.");
            _logger.LogError("Here is error message from our values controller.");

            return(users);
        }
        public IEnumerable <string> Get()
        {
            var domesticAccounts = _repoWrapper.Account.FindByCondition(x => x.AccountType.Equals("Domestic"));
            var owners           = _repoWrapper.Owner.FindAll();

            _logger.LogInfo("Here is info message from the controller.");
            _logger.LogDebug("Here is debug message from the controller.");
            _logger.LogWarn("Here is warn message from the controller.");
            _logger.LogError("Here is error message from the controller.");
            return(new string[] { "value1", "value2" });
        }