// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var configBuilder = new ConfigurationBuilder() .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); services.AddCors(); services.AddControllers(); services.AddDbContext <ThermoDataContext>(opt => opt.UseSqlServer(Configuration.GetConnectionString(ThermoDatabaseContext))); // configure strongly typed settings objects var appSettingsSection = Configuration.GetSection(AppSettingConfigurationName); services.Configure <AppSettings>(appSettingsSection); // configure jwt authentication var appSettings = appSettingsSection.Get <AppSettings>(); var key = Encoding.ASCII.GetBytes(appSettings.Secret); services.AddAuthentication(auth => { auth.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; auth.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(jwtOptions => { jwtOptions.Events = new JwtBearerEvents { OnTokenValidated = context => { var userIdentity = context.Principal.Identity.Name; var exp = ClaimUtil.GetExpiryClaimExpiryDate(context.Principal.Claims.Where(x => x.Type == ExpiryClaimDefinition).FirstOrDefault().Value); var connectionString = Configuration.GetConnectionString(ThermoDatabaseContext); var isUserValid = IsUserAuthorized(userIdentity, connectionString, exp); if (!isUserValid) { context.Fail(UnAuthorizedTokenValidation); } return(Task.CompletedTask); } }; jwtOptions.RequireHttpsMetadata = false; jwtOptions.SaveToken = true; jwtOptions.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false }; }); }
private async Task InitUserProfile() { var thumbnail = await ClaimUtil.GetThumbnailString(); if (thumbnail.IndexOf("~/") >= 0) { thumbnail = Url.Content(thumbnail);//default image } ViewBag.Thumbnail = thumbnail; }
public async Task <ActionResult> Detail(string id) { ViewBag.Message = "This is Claim Detail"; await InitUserProfile(); ViewBag.Claim = ClaimUtil.GetMockClaimViewModel(); InitMockClaimList(); //ViewBag.ClaimImage = await ClaimUtil.GetMockImageFromBlob(); return(View()); }
public async Task <ActionResult> Approve(int id, bool approved) { var url = Constants.ClaimApproverUrl; var tag = await ClaimUtil.GetMockCutomerEmail(); var postJson = approved ? new { message = "The claim has been approved", tag = tag } :new{ message = "The claim has been declined", tag = tag }; var response = await PostTo(url, postJson); return(Json(response)); }
// GET: Create Claim public async Task <ActionResult> AddClaim() { var customer = await ClaimUtil.GetCustomerMock(); ViewBag.MockInfo = new AddClaimViewModel { CustomerId = customer.Id, CustomerVehicleId = customer.Vehicles.First().Id, UserPhotoPath = AppSettings.CustomerMock.UserPhotoPath, DriverLicensePath = AppSettings.CustomerMock.DriverLicensePath, LicensePlatePath = AppSettings.CustomerMock.LicensePlatePath, PolicyIDPath = AppSettings.CustomerMock.PolicyIDPath, CrashImagesPaths = AppSettings.CustomerMock.CrashImagesPaths, SelectedVehiclePath = AppSettings.CustomerMock.SelectedVehiclePath }; return(View()); }
public async Task <ActionResult> Approve(int id, bool approved, string damageAssessment, string cid) { var queryable = dbContext.Claims.Include(i => i.Vehicle.Customer) .Where(i => i.Id == id); var claim = await queryable.FirstOrDefaultAsync(); var customer = claim.Vehicle.Customer; var url = Common.AppSettings.ClaimManualApproverUrl; var response = await PostTo(url, new { id = id, correlationId = claim.CorrelationId, damageAssessment = ClaimUtil.ParseDamageAssessmentToInt(damageAssessment), approved = approved, customerUserId = Regex.Match(customer.UserId, @"sid:\w+").Value, customerName = customer.FirstName + " " + customer.LastName, customerEmail = customer.Email }); return(Json(response)); }
public async Task <ActionResult> AddClaim(string phonenumber, string description) { var newGuid = Guid.NewGuid(); var otherPartyImages = ClaimUtil.GetOtherPartyImages(); var claimImages = ClaimUtil.GetClaimImages(newGuid); var customer = await ClaimUtil.GetCustomerMock(); var vehicle = customer.Vehicles.First(); var postImages = new { otherPartyImages = otherPartyImages.Select(otherImg => new { plateJson = otherImg.Item1, kind = otherImg.Item2 }).ToArray(), claimImages = claimImages.Select(claimImg => new { plateJson = claimImg.Item1, imgName = claimImg.Item2 }).ToArray(), }; var response = await PostTo(AppSettings.CreateMobileClaimFromWebUrl, new { claimId = newGuid.ToString(), description = description ?? string.Empty, phonenumber = phonenumber ?? string.Empty, userId = customer.UserId, vehicleId = vehicle.Id, postImages = postImages }); return(Json(new { success = true })); }
private void InitMockBuilderList() { ViewBag.BuilderList = ClaimUtil.GetMockBuilderViewModelList(); }
private void InitMockClaimList() { ViewBag.ClaimHistoryList = ClaimUtil.GetMockClaimViewModelList(); }
public ActionResult <int> GetSelfAge() { return(ClaimUtil.UserAge(HttpContext)); }