1. Asp.Net
Web App===>CrudInMvcApi===>WebApi===>Indivisual
2. Models===>Trainee(Class)
2. Models===>Trainee(Class)
using System.ComponentModel.DataAnnotations;
namespace CrudInMvcApi.Models
{
public class Trainee
{
[Key]
public int
TraineeID { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string Address
{ get; set; }
public string
CellPhone { get; set; }
}
}
3. Web.Config===>Modify Database
4. Models===>IdentityModels.cs
public DbSet<Trainee> Trainees { get; set; }
4. Models===>IdentityModels.cs
public DbSet<Trainee> Trainees { get; set; }
}
}
5. Enable-Migrations,
Add-Migration, Update-Database
Add data on table
6. Project===>Install==>Unity.WepApi.5.1 (Version 5.2.0) ==>Accept---->YesToAll
7. Models===> Repository==> IDataAccessRepository.cs
Add data on table
6. Project===>Install==>Unity.WepApi.5.1 (Version 5.2.0) ==>Accept---->YesToAll
7. Models===> Repository==> IDataAccessRepository.cs
public interface IDataAccessRepository<TEntity,in TPrimaryKey>where TEntity : class
{
IEnumerable<TEntity> Get();
TEntity Get(TPrimaryKey id);
void Post(TEntity entity);
void Put(TPrimaryKey id, TEntity entity);
void Delete(TPrimaryKey id);
}
8. Models===>
Repository==> ClsTraineeDataAccessRepository.cs
using Microsoft.Practices.Unity;
public class ClsTraineeDataAccessRepository : IDataAccessRepository<Trainee, int>
{
[Dependency]
public ApplicationDbContext db { get; set; }
public IEnumerable<Trainee> Get()
{
return db.Trainees.ToList();
}
public Trainee Get(int id)
{
return db.Trainees.Find(id);
}
public void
Post(Trainee entity)
{
db.Trainees.Add(entity);
db.SaveChanges();
}
public void Put(int id, Trainee entity)
{
var trainee = db.Trainees.Find(id);
if (trainee != null)
{
trainee.Name = entity.Name;
trainee.Email = entity.Email;
trainee.Address =
entity.Address;
trainee.CellPhone = entity.CellPhone;
db.SaveChanges();
}
}
public void Delete(int id)
{
var trainee = db.Trainees.Find(id);
if (trainee != null)
{
db.Trainees.Remove(trainee);
db.SaveChanges();
}
}
}
9. Global.asax
protected void
Application_Start()
{
AreaRegistration.RegisterAllAreas();
UnityConfig.RegisterComponents();
}
}
10. App_Start==>UnityConfig.cs
container.RegisterType<IDataAccessRepository<Trainee,
int>,
ClsTraineeDataAccessRepository>();
11. Controllers==>TraineeApiController
using System.Web.Http;
using CrudInMvcApi.Models;
using CrudInMvcApi.Models.Repository;
namespace CrudInMvcApi.Controllers
{
[RoutePrefix("api/Trainee")]
public class TraineeApiController :
ApiController
{
private IDataAccessRepository<Trainee, int> _repository;
public TraineeApiController(IDataAccessRepository<Trainee, int> r)
{
_repository = r;
}
[HttpGet]
[Route("GetTrainee", Name = "Get")]
public IEnumerable<Trainee> GetTrainee()
{
return _repository.Get();
}
[HttpGet]
[Route("GetTraineeById/{traineeId}")]
public IHttpActionResult GetTraineeById(int traineeId)
{
return Ok(_repository.Get(traineeId));
}
[HttpPost]
[Route("InsertTrainee")]
public IHttpActionResult PostTrainee(Trainee trainee)
{
_repository.Post(trainee);
return Ok(trainee);
}
[HttpPut]
[Route("UpdateTrainee/{traineeId}")]
public IHttpActionResult PutTrainee(int traineeId, Trainee trainee)
{
_repository.Put(traineeId,
trainee);
return CreatedAtRoute("Get", new { id =
trainee.TraineeID }, trainee);
}
[HttpDelete]
[Route("DeleteTrainee/{traineeId}")]
public IHttpActionResult DeleteTrainee(int traineeId, Trainee trainee)
{
_repository.Delete(traineeId);
return CreatedAtRoute("Get", new { id =
trainee.TraineeID }, trainee);
}
}
}
0 comments:
একটি মন্তব্য পোস্ট করুন