public async Task <IActionResult> Update([FromBody] List <OtsUserDTO> users) { if (!ModelState.IsValid) { return(BadRequest(ModelStateHelpful.ModelError())); } List <string> result = new List <string>(); foreach (var user in users) { if ((int)user.Status == (int)bp.shared.Constansts.StatusEnum.Usuniety) { this._identContext.Users.Remove(await this._identContext.Users.FindAsync(user.UserId)); } else { await UpdateUser(user, result); } } _identContext.SaveChanges(); var data = this.UsersManagementList(); return(Ok(new { Info = result, Data = data })); }
public async Task <IActionResult> GetById(int id) { var dbRes = id > 0 ? await this._companyService.CompanyQueryable().FirstOrDefaultAsync(f => f.CompanyId == id) : await this._companyService.CompanyQueryable().OrderByDescending(f => f.CompanyId).FirstOrDefaultAsync(); if (dbRes == null) { return(BadRequest(ModelStateHelpful.ModelError("Info", $"Nie znaleziono kontrahenta o Id: {id}"))); } return(Ok(this._companyService.EtDTOCompany(dbRes))); }
public async Task <IActionResult> CompanyEmployeeList([FromBody] TransEuCompanyEmployeeUrlDTO url) { var link = new Uri(url.EmployeeUrl); var response = await this.TransEuHttpResponseMessage(HttpMethod.Get, link); if (response != null) { return(Ok(response)); } return(BadRequest(ModelStateHelpful.ModelError(this._contextErrorHelper.ContextErrorCollection))); }
public async Task <IActionResult> Loads() { // string query = @"?filter={""price_currency"":""PLN""}&sort={""creation_date"": 1}"; string q1 = @"?sort={""creation_date"": -1}"; var loadsUrl = new Uri("https://offers.system.trans.eu/api/rest/v1/loads" + q1); var response = await this.TransEuHttpResponseMessage(HttpMethod.Get, loadsUrl); if (response != null) { return(Ok(response)); } return(BadRequest(ModelStateHelpful.ModelError(this._contextErrorHelper.ContextErrorCollection))); }
public async Task <IActionResult> KontrahentById(string id) { if (string.IsNullOrWhiteSpace(id)) { return(BadRequest(ModelStateHelpful.ModelError("KontrahentId", "Przesłana wartość: kontrahentId nie może być pusta"))); } var transEuKontrahentUri = new Uri("https://companies.system.trans.eu/api/rest/v1/companies/" + id); var response = await this.TransEuHttpResponseMessage(HttpMethod.Get, transEuKontrahentUri); if (response != null) { return(Ok(response)); } return(BadRequest(ModelStateHelpful.ModelError(this._contextErrorHelper.ContextErrorCollection))); }
public async Task <IActionResult> Register([FromBody] RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.UserName, Email = model.UserName }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.EmailConfirmationLink(user.Id, code, Request.Scheme); string emailBody = @"<h2>OfferTrans</h2><p>Poniżej znajduje się link aktywujący konto</p><br /><a href='" + callbackUrl + "'>Kliknij by potwierdzić konto</a></p>"; await _emailSender.SendEmailAsync(model.UserName, "OfferTrans - register", emailBody); await _emailSender.SendEmailAsync(_config["Contact:admin"], "Rejestracja nowego użytkownika", "Zarejestrował się nowy użytkownik OfferTrans, email: " + model.UserName); return(Ok(ModelStateHelpful.ModelError("Rejestracja", $"Użytkownik {model.UserName} został zarejestrowany. Należy zaktywować konto, link został wysłany e-mailem"))); } else { //AddErrors(result); foreach (var err in result.Errors) { ModelState.TryAddModelError(err.Code, err.Description); } return(BadRequest(ModelState)); } } // If we got this far, something failed, redisplay form return(BadRequest(ModelStateHelpful.ModelError())); }
public async Task <IActionResult> GenerateToken([FromBody] LoginViewModel model) { var modelst = new ModelStateDictionary(); if (ModelState.IsValid) { var user = await _userManager.FindByEmailAsync(model.UserName); if (user != null) { var userRoles = await _userManager.GetRolesAsync(user); if (!user.EmailConfirmed) { return(BadRequest(ModelStateHelpful.ModelError("Login Info Error", $"Użytkownik {user.UserName} został zarejestrowany, jednak adres email: {user.Email} nie został jeszcze potwierdzony. Potwierdź adres email"))); } if (userRoles.Count == 0) { var adminId = _contextIdent.Roles.Where(w => w.Name == IdentConst.Administrator).FirstOrDefault().Id; var admins = _contextIdent.UserRoles.Where(w => w.RoleId == adminId).Select(s => s.UserId).ToList(); var emails = _contextIdent.Users.WhereIn(wi => wi.Id, admins).Select(s => s.Email).ToList(); var adminsEmails = admins.Count == 0 ? null : String.Join(" | ", emails); return(BadRequest(ModelStateHelpful.ModelError("Login Error Info", $"Konto {user.UserName} jest potwierdzone, jednak administrator nie przypisał jeszcze uprawnień. Skontaktuj się z administratorem {adminsEmails}"))); } var result = await _signInManager.CheckPasswordSignInAsync(user, model.Password, false); if (result.Succeeded) { var rolesId = _contextIdent.UserRoles.Where(w => w.UserId == user.Id).Select(s => s.RoleId).Distinct().ToList(); var roles = await _userManager.GetRolesAsync(user); var rolesPipe = rolesId.Count > 0 ? string.Join(" | ", _contextIdent.Roles.WhereIn(w => w.Id, rolesId).Select(s => s.Name).ToList()) : "brak"; var claims = new List <Claim>() { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.NameId, user.Id), }; foreach (var role in roles) { claims.Add(new Claim("roles", role)); } var key = new SymmetricSecurityKey(System.Text.Encoding.UTF8.GetBytes(_config["Tokens:Key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_config["Tokens:Issuer"], _config["Tokens:Audience"], claims, expires: DateTime.Now.AddMinutes(120), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } else { //uzytkownik znaleziony jednak nie zalogowano return(BadRequest(ModelStateHelpful.ModelError("Login Error Info", "Najwyraźniej hasło jest nieprawidłowe, nie udało się zalogować użytkownika"))); } } else { modelst.TryAddModelError("UserLogin", $"Nie znaleziono użytkownika {model.UserName}"); return(BadRequest(ModelStateHelpful.ModelError("UserLogin", $"Nie znaleziono użytkownika {model.UserName}"))); } } modelst.TryAddModelError("Model", "Przesłano nieprawidłowe dane"); return(BadRequest(modelst)); }