public ActionResult Register([FromBody] RegisterModel request) { UserModelOutput userModelOutput = new UserModelOutput(); DisplayUser displayUser = new DisplayUser(); try { var query = new List <UserModel>((List <UserModel>)displayUser.DisplayAll()).AsQueryable(); var CheckEmail = query.Where(p => p.user_email.StartsWith(request.user_email ?? String.Empty, StringComparison.InvariantCultureIgnoreCase)); if (CheckEmail.Count() > 0) { ModelState.AddModelError("Email", "Email already exists"); } if (ModelState.IsValid) { _logger.Information("Post Register"); RegisterServices _register = new RegisterServices(); var saving = _register.Add(request); if (saving.Result == 1) { userModelOutput.IsSuccess = true; userModelOutput.Code = 200; userModelOutput.Message = "Success Register"; } } else { _logger.Error("Failed Register"); string errordetails = ""; var errors = new List <string>(); foreach (var state in ModelState) { foreach (var error in state.Value.Errors) { string p = error.ErrorMessage; errordetails = errordetails + error.ErrorMessage; } } Dictionary <string, object> dict = new Dictionary <string, object>(); dict.Add("error", errordetails); userModelOutput.IsSuccess = false; userModelOutput.Code = 422; userModelOutput.Message = "Failed Register"; userModelOutput.CustomField = dict; } } catch (Exception ex) { _logger.Error("Failed Register" + ex.Message.ToString()); userModelOutput.IsSuccess = false; userModelOutput.Code = 422; userModelOutput.Message = ex.Message.ToString(); } return(Ok(userModelOutput)); }
/// <summary> /// 获取用户token /// </summary> /// <param name="id">用户编号id</param> /// <param name="userId">用户uuid</param> /// <param name="nickName">昵称</param> /// <param name="mobile">手机号码</param> /// <param name="userStatus">用户状态</param> /// <returns></returns> public async Task <CommandResult> GetUserToken(int id, Guid userId, string nickName, string mobile, int userStatus) { var paramList = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("id", id.ToString()), new KeyValuePair <string, string>("nickname", nickName), new KeyValuePair <string, string>("uuid", userId.ToString()), new KeyValuePair <string, string>("mobile", mobile), new KeyValuePair <string, string>("usertype", "3"), new KeyValuePair <string, string>("isvalid", userStatus.ToString()), new KeyValuePair <string, string>("appId", _configuration.GetSection("IdentityServer:ClientId").Value), new KeyValuePair <string, string>("appSecret", _configuration.GetSection("IdentityServer:ClientSecret").Value), }; try { var response = await _httpClient.PostAsync("user/userToken", new FormUrlEncodedContent(paramList)); var content = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <CommandResult>(content)); } catch (Exception ex) { _loggerManager.Error("获取用户token出现异常", ex); return(new CommandResult(ResultCode.FAIL, "获取用户token失败")); } }
public bool AddPost(string user, string content) { try { postRepository.InsertPost(user, content, GetTimestamp()); return(true); } catch (Exception ex) { logger.Error(ex.ToString()); return(false); } }
public async Task <bool> SaveAsync() { try { var changes = context.ChangeTracker.Entries().Count( p => p.State == EntityState.Modified || p.State == EntityState.Deleted || p.State == EntityState.Added); return(changes == 0 || await context.SaveChangesAsync() > 0); } catch (DbUpdateException e) { var sqlExc = e.GetBaseException() as SqlException; if (sqlExc?.Number == 547) { throw new HttpException(HttpStatusCode.InternalServerError, "У вибраного об'єкта є залежності, спочатку видаліть їх."); } throw new HttpException(HttpStatusCode.InternalServerError, e.Message); } catch (Exception e) { logger.Error($"{e}, {nameof(SaveAsync)}"); return(false); } }
public void OnException(ExceptionContext context) { logger.Error(context.Exception.Message, context.Exception); if (context.Exception.GetType() == typeof(DomainException)) { var problemDetails = new ValidationProblemDetails() { Instance = context.HttpContext.Request.Path, Status = StatusCodes.Status400BadRequest, Detail = "Please refer to the errors property for additional details." }; problemDetails.Errors.Add("DomainValidations", new string[] { context.Exception.Message.ToString() }); context.Result = new BadRequestObjectResult(problemDetails); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.BadRequest; } else { context.Result = new InternalServerErrorObjectResult(new CommandResult(ResultCode.INTERNAL_SERVER_ERROR, "服务器内部出现错误,请稍后重试~")); context.HttpContext.Response.StatusCode = (int)HttpStatusCode.InternalServerError; } context.ExceptionHandled = true; }
public IActionResult Index(PagingParams pagingParams, string province, string kabupaten, string kelurahan) { try { #region "IF PARAM" if (province == null) { province = ""; } else { province = province.ToUpper(); } if (kabupaten == null) { kabupaten = ""; } else { kabupaten = kabupaten.ToUpper(); } if (kelurahan == null) { kelurahan = ""; } else { kelurahan = kelurahan.ToUpper(); } #endregion PostalServices PostalServices = new PostalServices(); objResponse = PostalServices.GetFilterThreeParam(pagingParams, province, kabupaten, kelurahan); Response.Headers.Add("X-Pagination", objResponse.GetHeader().ToJson()); var response = new PostalModelOutput { IsSuccess = true, Code = 200, Message = "Success", Data = objResponse.List.Select(m => ToPostalInfo(m)).ToList(), Pagination = GetLinks(objResponse, "GetOpenPostal") }; return(Ok(response)); } catch (Exception ex) { _logger.Error(ex.Message.ToString()); var response = new PostalModelOutput { IsSuccess = false, Code = 422, Message = ex.Message.ToString(), }; return(Ok(response)); } }
public async Task <IActionResult> Get([FromQuery] CostsFilterOptions queryParams) { try { Token token = (Token)this.HttpContext.Items["Token"]; logger.Info("New request from userId: " + token.data.user.id + " arrived to obtain Costs for his Organization"); if (!queryParams.HasOptions()) { logger.Error("Missing required query paramteters on url"); throw new ArgumentException("Missing required query parameters"); } logger.Debug("Querying service for a report from: " + queryParams.From.ToShortDateString() + " To: " + queryParams.To.ToShortDateString() + " for organizationId: " + token.data.organizationId); List <MonthCost> result = this.costService.GetCosts( queryParams.From, queryParams.To, token.data.organizationId ); return(Ok(result)); } catch (ArgumentException exception) { return(BadRequest(exception.Message)); } catch (Exception e) { return(BadRequest(e.Message)); } }
public IActionResult Index(PagingParams pagingParams) { try { PostalServices PostalServices = new PostalServices(); objResponse = PostalServices.GetAllKabupaten(pagingParams); Response.Headers.Add("X-Pagination", objResponse.GetHeader().ToJson()); var response = new PostalModelOutput { IsSuccess = true, Code = 200, Message = "Success", Data = objResponse.List.Select(m => ToPostalInfo(m)).ToList(), Pagination = GetLinks(objResponse, "GetOpenKabupaten") }; return(Ok(response)); } catch (Exception ex) { _logger.Error(ex.Message.ToString()); var response = new PostalModelOutput { IsSuccess = false, Code = 422, Message = ex.Message.ToString(), }; return(Ok(response)); } }
/// <summary> /// Hanlding Exception info /// </summary> /// <param name="context">error context</param> /// <param name="exception">object exception</param> /// <returns></returns> private Task HandleExceptionAsync(HttpContext context, Exception exception) { if (exception is HttpException 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.Error($"0, {exception}, An unhandled exception has occurred: {exception.Message}"); } var errorBody = JsonConvert.SerializeObject(new ErrorDetails(exception.Message)); logger.Error(errorBody); return(context.Response.WriteAsync(errorBody)); }
public async Task InvokeAsync(HttpContext httpContext) { try { await _next(httpContext); } catch (Exception ex) { _logger.Error($"Something went wrong: {ex.Message}"); await HandleExceptionAsync(httpContext, ex); } }
public IActionResult Index() { try { _logger.Information("Get Roles"); UserSessionManager usrSession = new UserSessionManager(); var user = User as ClaimsPrincipal; string userId = user.Claims.Where(c => c.Type == "USERID").Select(c => c.Value).SingleOrDefault(); DisplayRoles displayRoles = new DisplayRoles { objUser = usrSession.UserLog(userId)._userInfo }; var query = new List <RoleModel>((List <RoleModel>)displayRoles.Display()).ToList(); var response = new RoleModelOutput { IsSuccess = true, Code = 200, Message = "Success", Data = query }; return(Ok(response)); } catch (Exception ex) { _logger.Error(ex.Message.ToString()); var response = new RoleModelOutput { IsSuccess = false, Code = 422, Message = ex.Message.ToString(), }; return(Ok(response)); } }
public IActionResult Index(PagingParams pagingParams) { try { _logger.Information("Get User"); UserSessionManager usrSession = new UserSessionManager(); var user = User as ClaimsPrincipal; string userId = user.Claims.Where(c => c.Type == "USERID").Select(c => c.Value).SingleOrDefault(); UserServices userServices = new UserServices { objUser = usrSession.UserLog(userId)._userInfo }; objResponse = userServices.GetAll(pagingParams); Response.Headers.Add("X-Pagination", objResponse.GetHeader().ToJson()); var response = new UserModelOutput { IsSuccess = true, Code = 200, Message = "Success Get Account", Data = objResponse.List.Select(m => ToUserInfo(m)).ToList(), Pagination = GetLinks(objResponse, "GetAccount") }; return(Ok(response)); } catch (Exception ex) { _logger.Error(ex.Message.ToString()); var response = new UserModelOutput { IsSuccess = false, Code = 422, Message = ex.Message.ToString(), }; return(Ok(response)); } }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(RoleManager <IdentityRole> roleManager, IApplicationBuilder app, IWebHostEnvironment env, SsnDbContext context, ILoggerManager logger) { try { context.Database.Migrate(); } catch { logger.Error("CANNOT CREATE DATABASE"); return; } var role = roleManager.FindByNameAsync(Roles.USER).GetAwaiter().GetResult(); if (role == null) { role = new IdentityRole(Roles.USER); roleManager.CreateAsync(role).GetAwaiter().GetResult(); } if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/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(); app.UseRequestLocalization(app.ApplicationServices.GetRequiredService <IOptions <RequestLocalizationOptions> >().Value); app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapRazorPages(); }); }
public Task OnExceptionAsync(ExceptionContext context) { var exceptionType = context.Exception.GetType(); var result = new ContentResult(); result.Content = context.Exception.Message; result.StatusCode = exceptionType == typeof(ArgumentException) || exceptionType == typeof(ConstraintException) ? StatusCodes.Status409Conflict : StatusCodes.Status400BadRequest; context.Result = result; context.ExceptionHandled = true; logger.Error($"UpdateException. StatusCode: {result.StatusCode}, Message: {result.Content} "); return(Task.CompletedTask); }
public IActionResult Login([FromBody] UserModel login) { _logger.Information("Information is logged"); _logger.Warning("Warning is logged"); _logger.Debug("Debug log is logged"); _logger.Error("Error is logged"); IActionResult response = Unauthorized(); var user = AuthenticateUser(login); if (user != null) { var tokenString = GenerateJSONWebToken(user); response = Ok(new { token = tokenString }); } return(response); }
public async Task <ICommandResult> Handler(AuthenticateUserCommand command) { try { _logger?.Info("Autenticando usuário."); string token = await _service.AuthenticateAsync(command.Email, command.Password); if (token == null) { _logger?.Warn("Usuário não autenticado."); return(new CommandResult(false, Messages.USER_AUTHENTICATE_FAILED, null)); } _logger?.Info("Usuário autenticado com sucesso."); return(new CommandResult(true, Messages.USER_AUTHENTICATE_SUCCESS, token)); } catch (Exception ex) { _logger?.Error(ex.Message.ToLower()); // return new CommandResult(false, "Internal Server Error", null); throw ex; } }
public static void ConfigureExceptionHandler(this IApplicationBuilder app, ILoggerManager logger) { app.UseExceptionHandler(appError => { appError.Run(async context => { context.Response.StatusCode = (int)HttpStatusCode.InternalServerError; context.Response.ContentType = "application/json"; var contextFeature = context.Features.Get <IExceptionHandlerFeature>(); if (contextFeature != null) { logger.Error($"Error in Process: {contextFeature.Error}"); await context.Response.WriteAsync(new ErrorDetails() { StatusCode = context.Response.StatusCode, Message = "Internal Server Error. Error generated by NLog!" }.ToString()); } }); }); }
public IActionResult IndexSubCategory(PagingParams pagingParams, string id = null, string parent = null) { try { _logger.Information("GetSubCategory"); UserSessionManager usrSession = new UserSessionManager(); var user = User as ClaimsPrincipal; string userId = user.Claims.Where(c => c.Type == "USERID").Select(c => c.Value).SingleOrDefault(); if (id == null) { CategoryServices categoryServices = new CategoryServices { objUser = usrSession.UserLog(userId)._userInfo }; objResponse = categoryServices.GetAllSubCategories(pagingParams, parent); Response.Headers.Add("X-Pagination", objResponse.GetHeader().ToJson()); var response = new CategoryModelOutput { IsSuccess = true, Code = 200, Message = "Success Get Category", Data = objResponse.List.Select(m => CategoryInfo(m)).ToList(), Pagination = GetLinks(objResponse, "GetSubCategory") }; return(Ok(response)); } else { DisplayCategory displayCategory = new DisplayCategory { objUser = usrSession.UserLog(userId)._userInfo }; var collection = new List <CategoryModel>((IEnumerable <CategoryModel>)displayCategory.DisplayDetailSubCategory(id)); var response = new CategoryModelOutput { IsSuccess = true, Code = 200, Message = "Success Get Category", Data = collection, }; return(Ok(response)); } } catch (Exception ex) { _logger.Error(ex.Message.ToString()); var response = new CategoryModelOutput { IsSuccess = false, Code = 422, Message = ex.Message.ToString(), }; return(Ok(response)); } }