Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        // 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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        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);
            });
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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();
 }