public async Task <IEnumerable <User> > GetUsers() { var request = new RestRequest("users", Method.GET, DataFormat.Json); var response = await restClient.ExecuteAsync(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { logger?.LogError($"External API: Users not found. StatusCode:" + response.StatusCode + " Description: " + response.StatusDescription); return(null); } var users = JsonConvert.DeserializeObject <IEnumerable <User> >(response.Content); return(users); }
public IActionResult GetAllPlugins() { try { var plugins = repository.Plugin.GetAllPlugins(); logger.LogInfo("Returned all plugins from db."); return(Ok(plugins)); } catch (Exception e) { logger?.LogError($"Error in GetAllPlugins: {e.Message}"); return(StatusCode(500, $"Internal server error: ${e.Message}")); } }
public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { try { if (!context.ModelState.IsValid) { var body = context.HttpContext?.Request?.BodyToString(); logger.LogError($"Invalid request body:{Environment.NewLine}{body}"); context.Result = new BadRequestObjectResult(context.ModelState); } } catch (Exception e) { logger?.LogError($"Exception: {e}, ModelStateValidation Filter failed."); } var result = await next(); // execute any code after the action executes }
public IActionResult GetAllManagers() { try { var managers = _repository.Manager.GetAllManagers(); _logger.LogInfo($"Returned all managers from database."); return(Ok(managers)); //returning the manager objects with OK return code. } catch (Exception ex) //catching exception and logging it with error return code. { _logger.LogError($"Something went wrong inside GetAllManagers action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public IActionResult GetOrders([FromQuery] OrderParameters orderParameters) { try { logger.LogInfo("GetOrders"); var orders = repository.Orders.GetOrders(orderParameters); var ordersResult = mapper.Map <IEnumerable <OrderDto> >(orders); return(Ok(ordersResult)); } catch (Exception ex) { logger.LogError($"GetOrders(): {ex.Message} {ex.StackTrace}"); return(StatusCode(StatusCodes.Status500InternalServerError, "Internal Server Error")); } }
public async Task <IActionResult> Create() { try { Customer customer = await GetCurrentUserAsync(); List <Cart> itemsInCart = await GetItemsInCart(customer); bool inactiveItemsInCart = itemsInCart.Any(c => !c.Item.Active); if (inactiveItemsInCart) { _flashMessage.Danger("Some items in cart are no longer available"); return(RedirectToAction("Index", "Carts")); } const int defaultPaymentCost = 10; double itemsCost = itemsInCart.Aggregate <Cart, double>(0, (current, cart) => current + cart.Item.Price * cart.Quantity); if (itemsCost == 0) { _flashMessage.Danger("Your cart does no longer has items, please add items to cart before proceed to checkout"); return(RedirectToAction("Index", "Carts")); } var totalCost = itemsCost + defaultPaymentCost; customer.Address ??= new Address(); var currencies = await CurrencyConvert.GetExchangeRate(new List <string> { "EUR", "GBP", "ILS" }); foreach (CurrencyInfo currency in currencies) { currency.Total = totalCost * currency.Value; } var itemsIdsInCartList = new List <int>(); foreach (Cart itemInCart in itemsInCart) { for (var i = 1; i <= itemInCart.Quantity; i++) { itemsIdsInCartList.Add(itemInCart.ItemId); } } var viewModel = new CreateOrderViewModel { Cart = itemsInCart, Customer = customer, ShippingAddress = customer.Address, Payment = new Payment { ShippingCost = defaultPaymentCost, ItemsCost = itemsCost, Total = totalCost }, ItemsInCart = await CountItemsInCart(), Currencies = currencies, ItemsIdsInCartList = itemsIdsInCartList }; _flashMessage.Warning("Please verify your items before placing the order"); return(View(viewModel)); } catch (Exception e) { _flashMessage.Danger("Your order could not be placed. Please contact support for help"); _logger.LogError($"an order could not be created, e: {e}"); return(View(new CreateOrderViewModel() { ItemsInCart = await CountItemsInCart() })); } }
public IActionResult GetAllProducts() { try { var products = _repository.Product.GetAllProducts(); _logger.LogInfo("Returned all products from database"); return(Ok(products)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllProducts action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public ActionResult <IEnumerable <ShiftDto> > GetProjectShifts(Guid personId, Guid projectId, [ValidDate] int from, [ValidDate] int to) { try { if (!_db.Person.BelongsToUser(personId, HttpContext)) { return(Forbid()); } var role = _db.Participation.GetRole(personId, projectId); if (role?.CalendarRead != true) { return(Forbid()); } var canEdit = role?.CalendarWrite == true; var categoryIds = _db.Category .FindByCondition(x => x.ProjectId == projectId) .Include(x => x.Eligibilities) .Where(x => x.Eligibilities.Any(e => e.RoleId == role.Id && e.ShiftsRead)) .Select(x => x.Id); var shiftsFromDb = _db.Shift .FindByCondition(x => categoryIds.Contains(x.CategoryId) && x.Date >= from && x.Date <= to) .Include(x => x.Category) .Include(x => x.Applications).ThenInclude(x => x.Person).ThenInclude(x => x.Congregation) .Include(x => x.Attendees).ThenInclude(x => x.Team) .Include(x => x.Attendees).ThenInclude(x => x.Person).ThenInclude(x => x.Congregation) .ToList(); var shifts = _mapper.Map <IEnumerable <ShiftDto> >(shiftsFromDb); if (!canEdit) { foreach (var shift in shifts) { if (Enum.Parse <ShiftStatus>(shift.Status, ignoreCase : true) != ShiftStatus.Scheduled) { shift.Attendees = new List <AttendeeDto>(); } else { shift.Applications = new List <ApplicationDto>(); } } } foreach (var shift in shifts) { var application = shift.Applications.SingleOrDefault(x => x.PersonId == personId); if (application != null) { shift.IsApplicant = true; shift.IsAttendee = shift.Attendees.Any(x => x.ApplicationId == application.Id); } } return(Ok(shifts)); } catch (Exception e) { _logger.LogError($"ERROR in GetProjectShifts: {e.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> Get() { try { var owners = await _repository.Owner.GetAllOwnersAsync(); _logger.LogInfo($"Returned all owners from database."); var ownersResult = _mapper.Map <IEnumerable <OwnerDto> >(owners); return(Ok(ownersResult)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllOwners action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public IActionResult GetAllSections() { try { var sections = _repository.Section.GetAllSections(); _logger.LogInfo($"Returned all sections from database. " + Enumerable.Count(sections)); return(Ok(sections)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllSections action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> GetAllExpense(DateTime?date) { try { if (!date.HasValue) { date = DateTime.Now; } var expenses = await _repository.Expense.GetAllExpenseAsync(date.Value); _logger.LogInfo($"Returned all expenses from database."); var result = expenses.GroupBy(exp => exp.Date.Date) .Select(dto => new ExpenseDto { Date = dto.Key.Date, Amount = dto.Sum(x => x.Detail.Amount) }); return(Ok(result)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllExpense action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public bool Create(EventGenreForCreationDto eventGenre) { try { EventGenre DataEntity = _mapper.Map <EventGenre>(eventGenre); _repository.Create(DataEntity); _repository.Save(); return(true); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateEvent action: {ex.Message}"); throw new Exception(); } }
public IActionResult GetAllMenuItemCategories() { try { var menuItemCats = _repository.MenuItem_Category.GetAllMenuItemCategories(); _logger.LogInfo($"Returned all menuItemCats from db."); var menuItemCatsResult = _mapper.Map <IEnumerable <MenuItemCategoryDto> >(menuItemCats); return(Ok(menuItemCatsResult)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside the GetAllMenuItemCategories action: {ex.InnerException.Message}"); return(StatusCode(500, "Internal server error")); } }
public IActionResult GetAllTags() { try { var tags = _repoWrapper.Tag.GetAllTags(); _logger.LogInfo($"Returned all tags from the database."); var tagsResult = _mapper.Map <IEnumerable <TagDto> >(tags); return(Ok(tagsResult)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllTags action:" + $" {ex.Message}"); return(StatusCode(500, "Interal server error")); } }
public async Task <IActionResult> Pay(TopupDto topup) { if (!Utility.ValidYMobileNo(topup.subsNo)) { return(BadRequest(new ApiResponse(-3000, "Sorry, the target mobile was wrong"))); } var currentUser = _partnerManager.GetPartnerById(this.HttpContext.User.Identity.Name); var recharge = new RechargeCollection(); recharge.SubscriberNo = topup.subsNo; recharge.Amount = topup.amt; recharge.PointOfSale = currentUser; recharge.QueueNo = 0; recharge.AccessChannel.Id = "api"; recharge.ApiTransaction = topup.seq; var result = new RechargeRepo(_db, _partnerManager).Create(recharge); if (!result.Success) { if (result.AffectedCount == -513) { return(Unauthorized(new ApiResponse(-3003, "Sorry, undefined rule"))); } if (result.AffectedCount == -501) { return(BadRequest(new ApiResponse(-3004, $"Sorry, your balance was not enough {(currentUser.Balance - currentUser.Reserved).ToString("N0")}"))); } if (result.AffectedCount == -502) { return(BadRequest(new ApiResponse(-3005, $"Sorry, amount less than min limit"))); } if (result.AffectedCount == -503) { return(BadRequest(new ApiResponse(-3006, "Sorry, amount more than max limit"))); } if (result.AffectedCount == -511) { return(BadRequest(new ApiResponse(-3007, "Sorry, your account was invalid"))); } if (result.AffectedCount == -512) { return(BadRequest(new ApiResponse(-3008, "Sorry, inconsistent data"))); } if (result.AffectedCount == -514) { return(BadRequest(new ApiResponse(-3009, $"Sorry, duplicated sequence {topup.seq}"))); } if (result.AffectedCount == -515) { return(BadRequest(new ApiResponse(-3010, $"Sorry, amount not allowed"))); } return(BadRequest(new ApiResponse(500, $"Sorry, {result.Error}"))); } recharge.Id = result.AffectedCount; // call web service var endpoint = _config["OCS:Endpoint"]; var apiUser = _config["OCS:User"]; var apiPassword = _config["OCS:Password"]; var remoteAddress = _config["OCS:RemoteAddress"]; var successCode = _config["OCS:SuccessCode"]; var watch = System.Diagnostics.Stopwatch.StartNew(); var payResult = await new TopupService(_db, _partnerManager).DoRecharge(recharge, endpoint, apiUser, apiPassword, remoteAddress, successCode); watch.Stop(); double elapsedMs = watch.ElapsedMilliseconds; payResult.DebugInfo = payResult.RefMessage + " OCS(" + elapsedMs + ")"; var dbResult = new RechargeRepo(_db, null).UpdateWithBalance(payResult); if (!dbResult.Success) { _logger.LogError($"EMERGENCY-CHECk PayId={payResult.Id} {dbResult.Error}"); } if (payResult.Status.Id == 1) { new NotificationRepo(_db, _partnerManager).SendNotification("Recharge.Create", payResult.Id, payResult, 1); } var finalResult = JsonSerializer.Serialize(new { resultCode = payResult.Status.Id == 1 ? 0 : payResult.Status.Id, resultDesc = payResult.RefMessage, sequence = payResult.ApiTransaction, payId = recharge.Id, duration = elapsedMs }); return(Ok(finalResult)); }
public async Task <IActionResult> GetAllProfesores() { try { var profesores = await _repository.Profesor.GetAllProfesores(); _logger.LogInfo($"Returned all owners from database."); return(Ok(profesores)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllOwners action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> CreateSupervisor([FromBody] UserRequest userRequest) { if (userRequest == null) { _logger.LogError("CreateSupervisor: userRequest object sent from client is null."); return(BadRequest("userRequest object is null")); } if (!ModelState.IsValid) { _logger.LogError("CreateSupervisor: Invalid userRequest object sent from client."); return(BadRequest("Invalid userRequest object")); } var user = await _userManager.FindByNameAsync(userRequest.UserName); if (user != null) { _logger.LogError("CreateSupervisor: username already exists."); return(BadRequest("Username already exists")); } user = new IdentityUser { UserName = userRequest.UserName }; var passwordValidator = new PasswordValidator <IdentityUser>(); if (!(await passwordValidator.ValidateAsync(_userManager, null, userRequest.Password)).Succeeded) { _logger.LogError("CreateSupervisor: Provided password is not strong enough."); return(BadRequest("Provided password is not strong enough")); } await _userManager.CreateAsync(user, userRequest.Password); var supervisor = new Supervisor { UserId = user.Id }; _coadaptService.Supervisor.CreateSupervisor(supervisor); await _coadaptService.SaveAsync(); if (!await _roleManager.RoleExistsAsync(Role.SupervisorRole)) { await _roleManager.CreateAsync(new IdentityRole(Role.SupervisorRole)); } await _userManager.AddToRoleAsync(user, Role.SupervisorRole); return(CreatedAtRoute("SupervisorById", new { id = supervisor.Id }, supervisor)); }
public async Task <IActionResult> Get() { try { var menu = await _menuRepository.Get(); _logger.LogInfo("Return all the menus from the storage"); var menuResult = _mapper.Map <IEnumerable <MenuDto> >(menu); return(Ok(menuResult)); } catch (Exception ex) { _logger.LogError($"Something went wrong with inside Get action: {ex.Message}"); return(BadRequest(new ResponseMessages { Message = "Internal server error", status = "500" })); } }
public IActionResult GetAllAttSheets() { try { var attSheets = _repository.Attendance_Sheet.GetAllAttendanceSeets(); _logger.LogInfo($"Returned all attSheets from db."); var attSheetsResult = _mapper.Map <IEnumerable <AttendanceSheetDto> >(attSheets); return(Ok(attSheetsResult)); } catch (Exception ex) { _logger.LogError($"Something went work inside the GetAllAttSheets action: {ex.InnerException.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task ProcessUser(List <BulkUser> bulkUsers) { var logConst = "UserDelete-ProcessUser"; try { foreach (var bulkUser in bulkUsers) { try { _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Started_Status); if (string.IsNullOrEmpty(bulkUser.UserPrincipalName)) { var errorMessage = $"[User delete] user id is missing, please correct the record."; _logger.LogWarn(errorMessage); bulkUser.Error = errorMessage; _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status); continue; } var client = GraphClientUtility.GetGraphServiceClient(); if (client == null) { var errorMessage = $"[User Delete] Unable to get the proxy for Graph client for user [{bulkUser.UserPrincipalName}]"; _logger.LogWarn(errorMessage); continue; } var userAsync = await client.Users.Request().Filter($"userPrincipalName eq '{bulkUser.UserPrincipalName}'").GetAsync(); if (userAsync.Any()) { foreach (var user in userAsync) { try { await client.Users[user.Id].Request().DeleteAsync(); } catch (Exception ex) { _logger.LogError($"{logConst}:error deleting user for bulk user id {bulkUser.Id}"); _logger.LogError(ex); bulkUser.Error = $"{ex.ToString()}. Message: {ex.Message}"; _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status); continue; } _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Completed_Status); } } else { var errorMessage = $"[User delete] unable to get the detail for user id {bulkUser.UserPrincipalName}"; _logger.LogWarn(errorMessage); bulkUser.Error = errorMessage; _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status); } } catch (Exception ex) { _logger.LogError($"{logConst}:error creating user for bulk user id {bulkUser.Id}"); _logger.LogError(ex); bulkUser.Error = $"{ex.ToString()}. Message: {ex.Message}"; _dbHelper.UpdateTable(bulkUser, CareStreamConst.Bulk_User_Failed_Status); } } } catch (Exception ex) { _logger.LogError($"{logConst}:Exception occured while processing the bulk user..."); _logger.LogError(ex); } }
public async Task <IActionResult> GetGroupOwners(string id) { try { if (string.IsNullOrEmpty(id) || string.IsNullOrWhiteSpace(id)) { _logger.LogError("GroupOwnersController-GetGroupOwners: Id cannot be empty"); return(BadRequest()); } var groupOwnerModel = new GroupOwnerModel { GroupId = id }; _logger.LogInfo($"GroupOwnersController-GetGroupOwners: [Started] to get owner(s) detail for group id {id} from Azure AD B2C"); var client = GraphClientUtility.GetGraphServiceClient(); if (client == null) { _logger.LogError("GroupOwnersController-GetGroupOwners: Unable to create object for graph client"); return(NotFound()); } GroupService groupService = new GroupService(_logger, client); groupOwnerModel = await groupService.GetGroupOwnerAsync(id); _logger.LogInfo($"GroupOwnersController-GetGroup: [Completed] to getting owner(s) detail for group id {id} from Azure AD B2C"); return(Ok(groupOwnerModel)); } catch (ServiceException ex) { _logger.LogError("GroupOwnersController-GetGroupOwners: Exception occured...."); _logger.LogError(ex); if (ex.StatusCode == HttpStatusCode.BadRequest) { return(BadRequest()); } else { return(NotFound()); } } }
protected void LogError(string message) { _loggerManager.LogError(message); }
public IActionResult Register([FromBody] User user) { try { if (user == null) { _loggerManager.LogError("User data from client is null"); return(BadRequest("User object is null")); } if (!ModelState.IsValid) { _loggerManager.LogError("Invalid User object from client"); return(BadRequest("User object is invalid")); } _repositoryWrapper.UserRepository.CreateUser(user); return(CreatedAtAction("GetUserById", new { id = user.Id }, user)); } catch (Exception ex) { _loggerManager.LogError($"Error occurred while attempting to create a new User :: {ex.Message}"); return(StatusCode(500, "Internal Server Error")); } }
public UserDto Create(UserForCreationDto userForCreation) { try { if (userForCreation.name == "" || userForCreation.password == "" || userForCreation.right_id == 0) { _logger.LogError("invalid user data"); return(null); } User userCheck = _repository.GetUserByLogin(userForCreation.username, ""); if (userCheck != null) { _logger.LogError("Username is already in use"); return(null); } Hasher hasher = new Hasher(); userForCreation.password = hasher.HashPassword(userForCreation.password); var DataEntity = _mapper.Map <User>(userForCreation); _repository.Create(DataEntity); _repository.Save(); return(GetById(DataEntity.id)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateUser action: {ex.Message}"); throw new Exception(); } }
public IActionResult GetAllOwners() { try { var owners = _repository.Owner.GetAllOwners(); _logger.LogInfo($"Returned all owners from database."); return(Ok(owners)); } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAllOwners action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public async Task <GroupMemberModel> GetGroupMembers(string id) { try { if (string.IsNullOrEmpty(id) || string.IsNullOrWhiteSpace(id)) { _logger.LogError("GroupMemberService-GetGroupMembers: Id cannot be empty"); return(null); } var groupMemberModel = new GroupMemberModel { GroupId = id }; _logger.LogInfo($"GroupMemberService-GetGroupMembers: [Started] to get member detail for group id {id} from Azure AD B2C"); var client = GraphClientUtility.GetGraphServiceClient(); if (client == null) { _logger.LogError("GroupMemberService-GetGroupMembers: Unable to create object for graph client"); return(null); } groupMemberModel = await GetGroupMemberAsync(id); _logger.LogInfo($"GroupMemberService-GetGroup: [Completed] to getting member detail for group id {id} from Azure AD B2C"); return(groupMemberModel); } catch (ServiceException ex) { _logger.LogError("GroupMemberService-GetGroup: Exception occured...."); _logger.LogError(ex); throw ex; } }
public IActionResult GetCategories() { try { var categories = _repoWrapper.TodoCategory.GetAllTodoCategories(); var categoriesResult = _mapper.Map <IEnumerable <TodoCategoryDTO> >(categories); _logger.LogInfo($"Returned All The Categories from db"); return(Ok(categoriesResult)); } catch (Exception ex) { _logger.LogError($"There is something wrong with GetCategories {ex.Message}"); return(StatusCode(500, "Internal Server Error")); } }
public IActionResult Requests() { try { ViewBag.opportunities = _repository.Opportunity.GetAllOpportunities(); var events = _repository.Opportunity.GetAllOpportunities(); //var date = DateTime.Today; return(View("Request")); //return RedirectToAction("CreateDate"); } catch (Exception ex) { _logger.LogError($"Something went wrong inside CreateDate action: {ex.Message}"); //throw new Exception("Server Error!"); return(StatusCode(500, "Internal server error")); } }
public IActionResult GetAccountById(Guid id) { try { var account = _repository.Account.GetAccountById(id); if (account == null) { _logger.LogError($"Account with id: {id}, hasn't been found in db."); return(NotFound()); } else { _logger.LogInfo($"Returned account with id: {id}"); var accountResult = _mapper.Map <AccountDto>(account); return(Ok(accountResult)); } } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetAccountById action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }
public IActionResult GetById(int id) { try { var game = _repository.Games.GetById(id); if (game.IsNullOrEmpty()) { _logger.LogError($"Game with id: {id}, hasn't been found in db."); return(NotFound()); } else { _logger.LogInfo($"Returned game with id: {id}"); return(Ok(game)); } } catch (Exception ex) { _logger.LogError($"Something went wrong inside GetGameById action: {ex.Message}"); return(StatusCode(500, "Internal server error")); } }