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 { public override DbSet 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 GetResources() { var resources = new List(); 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(); } } }