EnVisageOnline/Beta/Source/EnVisage/Code/BLL/PeopleResourcesManager.cs

65 lines
1.6 KiB
C#

using EnVisage.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
namespace EnVisage.Code.BLL
{
public class PeopleResourcesManager : ManagerBase<PeopleResource, PeopleResourceModel>
{
public override DbSet<PeopleResource> DataTable
{
get
{
return DbContext.PeopleResources;
}
}
public PeopleResourcesManager(EnVisageEntities dbContext)
: base(dbContext) { }
protected override PeopleResource InitInstance()
{
return new PeopleResource
{
Id = Guid.NewGuid(),
};
}
protected override PeopleResource RetrieveReadOnlyById(Guid key)
{
return DataTable.AsNoTracking().FirstOrDefault(t => t.Id == key);
}
public IList<PeopleResourceModel> GetResources()
{
var resources = new List<PeopleResourceModel>();
foreach(var x in DataTable)
{
resources.Add(new PeopleResourceModel() { Id = x.Id,
IsActiveEmployee = x.IsActiveEmployee,
FirstName = x.FirstName,
LastName = x.LastName,
ExpenditureCategory = x.ExpenditureCategory,
ExpenditureCategoryId = x.ExpenditureCategoryId,
Team = x.Team,
TeamId = x.TeamId,
StartDate = x.StartDate,
EndDate = x.EndDate
});
}
return resources;
}
public void DeleteResource(Guid resourceId)
{
(DbContext as IObjectContextAdapter).ObjectContext.ExecuteStoreCommand(string.Format("exec sp_DeletePeopleResource '{0}'", resourceId));
DbContext.SaveChanges();
}
}
}