|
|
@ -0,0 +1,85 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Text; |
|
|
|
using System.Threading.Tasks; |
|
|
|
|
|
|
|
namespace Sevomin.Models.Repositories |
|
|
|
{ |
|
|
|
public class JobRepository:IJobRepository |
|
|
|
{ |
|
|
|
|
|
|
|
#region Singleton
|
|
|
|
private static JobRepository member; |
|
|
|
private static object locker = new object(); |
|
|
|
|
|
|
|
private JobRepository() |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
static JobRepository() |
|
|
|
{ |
|
|
|
lock (locker) |
|
|
|
{ |
|
|
|
JobRepository.member = new JobRepository(); |
|
|
|
} |
|
|
|
} |
|
|
|
public static JobRepository Current |
|
|
|
{ |
|
|
|
get |
|
|
|
{ |
|
|
|
return JobRepository.member; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region JobRepository
|
|
|
|
|
|
|
|
public IQueryable<Job> ListAll() |
|
|
|
{ |
|
|
|
return SevominDbContext.Current.Jobs; |
|
|
|
} |
|
|
|
|
|
|
|
public Job Find(long key) |
|
|
|
{ |
|
|
|
return ListAll().SingleOrDefault(d => d.Id == key); |
|
|
|
} |
|
|
|
|
|
|
|
public void Delete(Job d) |
|
|
|
{ |
|
|
|
SevominDbContext.Current.Jobs.Remove(d); |
|
|
|
Save(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Add(Job d) |
|
|
|
{ |
|
|
|
SevominDbContext.Current.Jobs.Add(d); |
|
|
|
Save(); |
|
|
|
} |
|
|
|
|
|
|
|
public void Save() |
|
|
|
{ |
|
|
|
SevominDbContext.Current.SaveChanges(); |
|
|
|
} |
|
|
|
|
|
|
|
public Job GetEmptyJobFor(Avalin avalin) |
|
|
|
{ |
|
|
|
Job job = new Job(); |
|
|
|
foreach (var param in ParameterRepository.Current.ListAll()) |
|
|
|
{ |
|
|
|
JobParameter jp = new JobParameter(job, param); |
|
|
|
job.JobParameters.Add(jp); |
|
|
|
} |
|
|
|
job.IsFullTime = true; |
|
|
|
job.ShowCompanyLogo = false; |
|
|
|
job.ShowCompanyName = false; |
|
|
|
job.Avalin = avalin; |
|
|
|
avalin.Jobs.Add(job); |
|
|
|
return job; |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
} |
|
|
|
} |