public async Task <IHttpActionResult> GetReports(HttpRequestMessage request, [FromBody] ReportsViewModel reportsViewModel) { //throw new Exception("qas"); IHttpActionResult response = null; try { ReportsViewModel result = new ReportsViewModel(); UserIdentityInfo userinfo = UserHelper.GetUserInfo(this); if (userinfo != null) { int currentPageNumber = reportsViewModel.CurrentPageNumber; int pageSize = reportsViewModel.PageSize; string sortExpression = reportsViewModel.SortExpression; string sortDirection = reportsViewModel.SortDirection; int totalRows; IEnumerable <Report> reportsList = _reportDataService.GetReports(userinfo.ID, null, null, currentPageNumber, pageSize, sortExpression, sortDirection, out totalRows); IEnumerable <ReportViewModel> reportViewModelList = reportsList.Select(user => (ReportViewModel)user); result.Reports = reportViewModelList.ToList(); result.TotalRows = totalRows; } response = ResponseMessage(Request.CreateResponse <ReportsViewModel>(HttpStatusCode.OK, result)); } catch (Exception ex) { string message = UserHelper.ErrorHandler(ex); response = BadRequest(message); } return(response); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Home/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); UserIdentityInfo.Configure(app.ApplicationServices.GetRequiredService <IHttpContextAccessor>()); app.UseEndpoints(endpoints => { endpoints.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); }); }
protected override void Write(LogEventInfo logEvent) { _raygunClient = _raygunClient ?? (_raygunClient = CreateRaygunClient()); Exception exception = ExtractException(logEvent); var tags = ExtractTags(logEvent, exception); Dictionary <string, object> userCustomData = ExtractProperties(logEvent); string layoutLogMessage = Layout.Render(logEvent); userCustomData["RenderedLogMessage"] = layoutLogMessage; userCustomData["LogMessageTemplate"] = logEvent.Message; if (exception == null) { exception = new RaygunException(layoutLogMessage); } string userIdentityInfo = UserIdentityInfo != null?UserIdentityInfo.Render(logEvent) : string.Empty; var userIdentity = string.IsNullOrEmpty(userIdentityInfo) ? null : new RaygunIdentifierMessage(userIdentityInfo); _raygunClient.UserInfo = userIdentity; _raygunClient.SendInBackground(exception, tags, userCustomData); }
public static UserIdentityInfo GetUserInfo(ApiController controllerContext) { UserIdentityInfo userInfo = new UserIdentityInfo(); userInfo.ID = Guid.Parse(controllerContext.User.Identity.GetUserId()); var claimsIdentity = controllerContext.User.Identity as ClaimsIdentity; if (claimsIdentity != null) { Claim nameClaim = claimsIdentity.FindFirst("FullName"); if (nameClaim != null) { userInfo.FullName = nameClaim.Value; } Claim roleClaim = claimsIdentity.FindFirst(ClaimTypes.Role); if (roleClaim != null) { userInfo.Role = roleClaim.Value; } Claim organizationIDClaim = claimsIdentity.FindFirst("OrganizationID"); if (organizationIDClaim != null) { userInfo.OrganizationID = Guid.Parse(organizationIDClaim.Value); } Claim roleIDClaim = claimsIdentity.FindFirst("RoleID"); if (roleIDClaim != null) { userInfo.RoleID = Guid.Parse(roleIDClaim.Value); } Claim isAdminClaim = claimsIdentity.FindFirst("IsAdmin"); if (isAdminClaim != null) { userInfo.IsAdmin = Boolean.Parse(isAdminClaim.Value); } Claim organizationTypeIDClaim = claimsIdentity.FindFirst("OrganizationTypeID"); if (organizationTypeIDClaim != null) { userInfo.OrganizationTypeID = Int32.Parse(organizationTypeIDClaim.Value); } Claim organizationNameClaim = claimsIdentity.FindFirst("OrganizationName"); if (organizationNameClaim != null) { userInfo.OrganizationName = organizationNameClaim.Value; } } return(userInfo); }
protected async Task <IHttpActionResult> RegisterUser(UserViewModel model) { IHttpActionResult response = null; try { if (!ModelState.IsValid) { response = BadRequest(ModelState); } else { UserIdentityInfo userinfo = UserHelper.GetUserInfo(this); Guid organizationID = model.Organization.OrganizationID == default(Guid) ? userinfo.OrganizationID : model.Organization.OrganizationID; Guid createdByID = userinfo.ID; var user = new CustomIdentityUser(model.UserName, model.FullName, organizationID, model.Role.ID, createdByID, model.Role.IsPrimary); var result = await UserManager.CreateAsync(user); if (result.Succeeded) { response = await SendPasswordResetEmail(user, true); if (!(response is BadRequestErrorMessageResult)) { response = Ok <object>(new object[2] { user.DBUser.ID, Resource.UserAddedSuccessfully }); } } else { IHttpActionResult errorResult = GetErrorResult(result); if (errorResult != null) { response = errorResult; } } } } catch (Exception ex) { string message = UserHelper.ErrorHandler(ex); response = BadRequest(message); } return(response); }
public async Task <IHttpActionResult> GetUserIdentity() { IHttpActionResult response = null; try { UserIdentityInfo userInfo = UserHelper.GetUserInfo(this); response = ResponseMessage(Request.CreateResponse <UserIdentityInfo>(HttpStatusCode.OK, userInfo)); } catch (Exception ex) { string message = UserHelper.ErrorHandler(ex); response = BadRequest(message); } return(response); }
public override void ConfigureServices(IServiceCollection services) { base.ConfigureServices(services); services.AddScoped(typeof(IUserInfo), s => { var user = new UserIdentityInfo(s.GetService <IHttpContextAccessor>().HttpContext.User); return(user); }); services.AddScoped(provider => { var svc = provider.GetRequiredService <ICustomerService>(); var userInfo = provider.GetRequiredService <IUserInfo>(); return(svc.GetPrincipal(userInfo.UserId).Result as ICustomer); }); }
public async Task <IHttpActionResult> GetOrganizationCustomers([FromBody] CustomerViewModel customerViewModel) { IHttpActionResult response = null; try { UserIdentityInfo userinfo = UserHelper.GetUserInfo(this); Guid currentOrganizationID = userinfo.OrganizationID; List <Organization> Organizations = _customerDataService.GetOrganizationsByParentID(currentOrganizationID); response = ResponseMessage(Request.CreateResponse <List <Organization> >(HttpStatusCode.OK, Organizations)); } catch (Exception e) { string message = UserHelper.ErrorHandler(e); response = ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, message)); } return(response); }
public async Task <IHttpActionResult> GetUsers(HttpRequestMessage request, [FromBody] UsersViewModel usersViewModel) { //throw new Exception("qas"); IHttpActionResult response = null; try { UsersViewModel result = new UsersViewModel(); UserIdentityInfo userinfo = UserHelper.GetUserInfo(this); if (userinfo != null) { //if the OrganizationID comes with the request, than it is a Company admin in Customer view, else search with the current logged in OrganizationID Guid organizationID = (usersViewModel.OrganizationID == null || usersViewModel.OrganizationID == default(Guid)) ? userinfo.OrganizationID : usersViewModel.OrganizationID.Value; int currentPageNumber = usersViewModel.CurrentPageNumber; int pageSize = usersViewModel.PageSize; string sortExpression = usersViewModel.SortExpression; string sortDirection = usersViewModel.SortDirection; int totalRows; var userlist = _userDataService.GetUsers(organizationID, usersViewModel.OrganizationName, usersViewModel.FullName, usersViewModel.UserName, usersViewModel.RoleName, usersViewModel.StatusName, usersViewModel.LastLoginDate, currentPageNumber, pageSize, sortExpression, sortDirection, out totalRows); var userViewModelList = userlist.Select(user => { var userVM = (UserViewModel)user; /*if the user is current user or disabled, it is not editable */ userVM.IsEditable = (userVM.ID == userinfo.ID) ? false : true; return(userVM); }); result.Users = userViewModelList.ToList(); result.TotalRows = totalRows; } response = ResponseMessage(Request.CreateResponse <UsersViewModel>(HttpStatusCode.OK, result)); } catch (Exception ex) { string message = UserHelper.ErrorHandler(ex); response = BadRequest(message); } return(response); }
private UserIdentityInfo GetUserInfo() { UserIdentityInfo userInfo = new UserIdentityInfo(); var claimsIdentity = User.Identity as ClaimsIdentity; if (claimsIdentity != null) { Claim roleClaim = claimsIdentity.FindFirst(ClaimTypes.Role); if (roleClaim != null) { userInfo.Role = roleClaim.Value; } Claim customerClaim = claimsIdentity.FindFirst("OrganizationID"); if (customerClaim != null) { userInfo.OrganizationID = Guid.Parse(customerClaim.Value); } } return(userInfo); }
public async Task <IHttpActionResult> GetTickets(HttpRequestMessage request, [FromBody] TicketsViewModel ticketsViewModel) { IHttpActionResult response = null; try { TicketsViewModel result = new TicketsViewModel(); UserIdentityInfo userinfo = UserHelper.GetUserInfo(this); if (userinfo != null) { int currentPageNumber = ticketsViewModel.CurrentPageNumber; int pageSize = ticketsViewModel.PageSize; string sortExpression = ticketsViewModel.SortExpression; string sortDirection = ticketsViewModel.SortDirection; int totalRows; //if the OrganizationID comes with the request, than it is a Company admin in Customer view, else search with the current logged in OrganizationID Guid organizationID = (ticketsViewModel.OrganizationID == null || ticketsViewModel.OrganizationID == default(Guid)) ? userinfo.OrganizationID : ticketsViewModel.OrganizationID.Value; IEnumerable <Ticket> ticketlist = _ticketDataService.GetTickets(organizationID, ticketsViewModel.AccountNumber, ticketsViewModel.AccountName, ticketsViewModel.TicketNumber, ticketsViewModel.DeliveryDate, ticketsViewModel.InvoiceNumber, currentPageNumber, pageSize, sortExpression, sortDirection, out totalRows); var ticketViewModelList = ticketlist.Select(ticket => (TicketViewModel)ticket); result.Tickets = ticketViewModelList.ToList(); result.TotalRows = totalRows; } response = ResponseMessage(Request.CreateResponse <TicketsViewModel>(HttpStatusCode.OK, result)); } catch (Exception ex) { string message = UserHelper.ErrorHandler(ex); response = BadRequest(message); } return(response); }
public void Init() { instance = new UserIdentityInfo(); }