public async Task <ActionResult> Detail(Guid id, CategoryDetailVM vm) { if (!ModelState.IsValid) { return(View(vm)); } APIResultVM result = new APIResultVM(); var user = await _userManager.FindByNameAsync(User.Identity.Name); if (id.IsNull() || id == Guid.Empty) { result = await _service.AddAsync(vm.Rec, user.Id); } else { result = await _service.UpdateAsync(id, vm.Rec, user.Id); } if (!result.IsSuccessful) { if (result.Messages.Any()) { foreach (var error in result.Messages) { ModelState.AddModelError("GeneralError", error); } } return(View(vm)); } return(RedirectToAction("Index", "Category")); }
public virtual async Task <JsonResult> Add(A model) { APIResultVM result = new APIResultVM(); try { if (Validation.IsNull(model)) { APIResult.CreateVM(false, null, AppStatusCode.WRG01001); } result = await _service.Add(model); if (Validation.ResultIsNotTrue(result)) { return(new JsonResult(result)); } return(new JsonResult(APIResult.CreateVM(true, result.RecId))); } catch (Exception ex) { return(new JsonResult(APIResult.CreateVMWithError(ex, APIResult.CreateVM(false, result.RecId)))); } }
public virtual async Task <JsonResult> Delete(Guid id) { APIResultVM result = new APIResultVM(); try { if (id == null || id == Guid.Empty) { APIResult.CreateVM(false, null, AppStatusCode.WRG01001); } result = await _service.Delete(id); if (Validation.ResultIsNotTrue(result)) { return(new JsonResult(result)); } return(new JsonResult(APIResult.CreateVM(true, result.RecId))); } catch (Exception ex) { return(new JsonResult(APIResult.CreateVMWithError(ex, APIResult.CreateVM(false, result.RecId)))); } }
public static APIResultVM CreateVMWithError(Exception e, APIResultVM vm = null) { if (vm == null) { vm = new APIResultVM() { Result = false, RecId = null, StatusCode = AppStatusCode.ERR01001 } } ; if (vm.Errors == null) { vm.Errors = new List <APIErrorVM>(); } vm.Errors.Add(new APIErrorVM() { DateTime = DateTime.Now, ErrorId = Guid.NewGuid(), Message = e.Message, Source = e.Source, StackTrace = e.StackTrace, InnerException = e.InnerException != null ? ( "Message: " + (e.InnerException.Message != null ? e.InnerException.Message : "") + "Source: " + (e.InnerException.Source != null ? e.InnerException.Source : "") + "Stack Trace: " + (e.InnerException.StackTrace != null ? e.InnerException.StackTrace : "") ) : "" }); return(vm); } }
public static APIResultVM CreateVM(bool isSuccessful = false, Guid?recId = null, string statusCode = "") { var vm = new APIResultVM() { Result = isSuccessful, RecId = recId, StatusCode = statusCode, }; return(vm); }
public override APIResultVM CreateVM( Guid?recId = null, bool isSuccessful = false, IEnumerable <APIResultErrorCodeVM> errors = null) { var vm = new APIResultVM() { IsSuccessful = isSuccessful, RecId = recId, Errors = errors }; return(vm); }
public static APIResultVM CreateVM(bool isSuccessful = false, Guid?recId = null, List <string> messages = null) { if (messages == null) { messages = new List <string>(); } var vm = new APIResultVM() { IsSuccessful = isSuccessful, RecId = recId, Messages = messages }; return(vm); }
private async Task <UserAuthenticationVM> GetAccessToken() { HttpClient httpClient = new HttpClient(); UserLoginVM loginVM = new UserLoginVM() { UserName = "******", Password = "******" }; var url = GetHostAddress(); url.Path = "/api/tokens/create"; var response = await httpClient.PostAsJsonAsync(url.ToString(), loginVM); var responseString = await response.Content.ReadAsStringAsync(); UserAuthenticationVM authModel = null; APIResultVM apiResult = null; try { if (responseString.Contains("Errors", StringComparison.CurrentCultureIgnoreCase)) { apiResult = JsonSerializer.Deserialize <APIResultVM>(responseString); if (apiResult.Errors != null && apiResult.Errors.Any(a => a.ErrorCode == APIStatusCode.ERR02025)) { var user = await _userManager.FindByNameAsync("testuser"); if (user == null) { throw new Exception("GetAccessToken for HealthChecks or UnitTests, is failed, user not found"); } var database = _redis.GetDatabase(); var tokenDataResult = database.StringGet(user.Id.ToString()); if (!tokenDataResult.HasValue) { throw new Exception("GetAccessToken for HealthChecks or UnitTests, is failed, user token data not found"); } TokenCacheVM tokenData = JsonSerializer.Deserialize <TokenCacheVM>(tokenDataResult); return(new UserAuthenticationVM() { TokenData = tokenData, Id = tokenData.Id }); } else { return(default(UserAuthenticationVM)); } } else if (responseString.Contains("UserName", StringComparison.CurrentCultureIgnoreCase)) { authModel = JsonSerializer.Deserialize <UserAuthenticationVM>(responseString); return(authModel); } else { SentrySdk.CaptureEvent(new SentryEvent() { Message = "GetAccessToken for HealthChecks or UnitTests, is failed", Level = Sentry.Protocol.SentryLevel.Error }); return(default(UserAuthenticationVM)); } } catch (System.Exception e) { SentrySdk.CaptureException(e); return(default(UserAuthenticationVM)); } }