Documento 29-1
Documento 29-1
using System.Threading.Tasks;
namespace RestAPI.Repository
Task<ICollection<T>> GetAllAsync();
Task<bool> Save();
void ClearCache();
********************************************************************
*******
using RestAPI.Models.Entity;
namespace RestAPI.Repository.IRepository
********************************************************************
*******
using RestAPI.Models.Entity;
namespace RestAPI.Repository.IRepository
********************************************************************
*******
using RestAPI.Models.Entity;
using RestAPI.Repository;
namespace RestAPI.Repository.IRepository
********************************************************************
*******
using RestAPI.Models.Entity;
using RestAPI.Repository;
namespace RestAPI.Repository.IRepository
{
}
********************************************************************
*******
using RestAPI.Models.Entity;
namespace RestAPI.Repository.IRepository
********************************************************************
*******
using RestAPI.Models.DTOs.UserDto;
using RestAPI.Models.Entity;
namespace RestAPI.Repository.IRepository
ICollection<AppUser> GetUsers();
Task<UserLoginResponseDto> Register(UserRegistrationDto
userRegistrationDto);
}
********************************************************************
*******
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Caching.Memory;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace RestAPI.Repository
.SetAbsoluteExpiration(TimeSpan.FromSeconds(_cacheExpirationTime));
_dbSet.Remove(entity);
return await Save();
}
}
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.Entity;
using RestAPI.Repository.IRepository;
using Microsoft.Extensions.Caching.Memory;
namespace RestAPI.Repository
: base(context, cache) { }
}
}
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.Entity;
using RestAPI.Repository.IRepository;
using Microsoft.Extensions.Caching.Memory;
namespace RestAPI.Repository
: base(context, cache) { }
********************************************************************
*********
namespace RestAPI.Repository
: base(context, cache) { }
}
}
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.Entity;
using RestAPI.Repository.IRepository;
using Microsoft.Extensions.Caching.Memory;
namespace RestAPI.Repository
: base(context, cache) { }
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.Entity;
using RestAPI.Repository.IRepository;
using Microsoft.Extensions.Caching.Memory;
namespace RestAPI.Repository
{
public SovietTankRepository (ApplicationDbContext context,
IMemoryCache cache)
: base(context, cache) { }
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.Entity;
using RestAPI.Repository.IRepository;
using Microsoft.Extensions.Caching.Memory;
namespace RestAPI.Repository
: base(context, cache) { }
********************************************************************
*********
using RestAPI.Data;
using RestAPI.Models.DTOs.UserDto;
using RestAPI.Repository.IRepository;
using AutoMapper;
using Microsoft.AspNetCore.Identity;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using System.Security.Cryptography;
using RestAPI.Models.Entity;
namespace RestAPI.Repository
UserManager<AppUser> userManager,
RoleManager<IdentityRole> roleManager, IMapper mapper)
_context = context;
secretKey =
config.GetValue<string>("ApiSettings:SecretKey");
_userManager = userManager;
_roleManager = roleManager;
_mapper = mapper;
}
public AppUser GetUser(string id)
{
return new UserLoginResponseDto { Token = "", User =
null };
new Claim(ClaimTypes.Name,
user.UserName.ToString()),
new Claim(ClaimTypes.Role,
roles.FirstOrDefault())
}),
Expires =
DateTime.UtcNow.AddMinutes(TokenExpirationDays),
SigningCredentials = new(new
SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var jwtToken =
tokenHandler.CreateToken(tokenDescriptor);
Token = tokenHandler.WriteToken(jwtToken),
User = user
};
return userLoginResponseDto;
UserName = userRegistrationDto.UserName,
Name = userRegistrationDto.Name,
Email = userRegistrationDto.UserName,
NormalizedEmail =
userRegistrationDto.UserName.ToUpper(),
};
if (!result.Succeeded)
return null;
}
if (!await _roleManager.RoleExistsAsync("admin"))
//this will run only for first time the roles are
created
await _roleManager.CreateAsync(new
IdentityRole("admin"));
await _roleManager.CreateAsync(new
IdentityRole("register"));
User = newUser
};