This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
using HanyadikHetVan.Data;
|
||||
using AutoMapper;
|
||||
using AutoMapper.QueryableExtensions;
|
||||
using HanyadikHetVan.Data;
|
||||
using HanyadikHetVan.Data.Entities;
|
||||
using HanyadikHetVan.DTO;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -11,46 +14,53 @@ namespace HanyadikHetVan.Services
|
||||
public class WeeklyTimeSpanService
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
private readonly IMapper _mapper;
|
||||
|
||||
public WeeklyTimeSpanService(ApplicationDbContext dbContext)
|
||||
public WeeklyTimeSpanService(ApplicationDbContext dbContext, IMapper mapper)
|
||||
{
|
||||
_dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
|
||||
_mapper = mapper ?? throw new ArgumentNullException(nameof(mapper));
|
||||
}
|
||||
|
||||
public IEnumerable<WeeklyTimeSpan> GetAllWeeklyTimeSpans()
|
||||
public async Task<List<WeeklyTimeSpanDTO>> GetAllWeeklyTimeSpans()
|
||||
{
|
||||
return _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).ToList();
|
||||
var wts = await _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).ToListAsync();
|
||||
return _mapper.Map<List<WeeklyTimeSpan>, List<WeeklyTimeSpanDTO>>(wts);
|
||||
}
|
||||
|
||||
public WeeklyTimeSpan GetWeeklyTimeSpan(int weeklytimespanId)
|
||||
public async Task<WeeklyTimeSpanDTO> GetWeeklyTimeSpan(int weeklytimespanId)
|
||||
{
|
||||
return _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Id == weeklytimespanId).FirstOrDefault();
|
||||
var wts = await _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Id == weeklytimespanId).FirstOrDefaultAsync();
|
||||
return _mapper.Map<WeeklyTimeSpan, WeeklyTimeSpanDTO>(wts);
|
||||
}
|
||||
|
||||
public ICollection<Pause> GetPausesOfWeeklyTimeSpan(int weeklytimespanId)
|
||||
public async Task<List<PauseDTO>> GetPausesOfWeeklyTimeSpan(int weeklytimespanId)
|
||||
{
|
||||
return _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Id == weeklytimespanId).FirstOrDefault().Pauses;
|
||||
var pauses = await _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Id == weeklytimespanId).FirstOrDefaultAsync();
|
||||
return _mapper.Map<ICollection<Pause>, List<PauseDTO>>(pauses.Pauses);
|
||||
}
|
||||
|
||||
public IEnumerable<WeeklyTimeSpan> GetWeeklyTimeSpanByStartdate(DateTime startTime)
|
||||
public async Task<WeeklyTimeSpanDTO> GetWeeklyTimeSpanByStartdate(DateTime startTime)
|
||||
{
|
||||
return _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Startdate.Date.Equals(startTime.Date)).ToList();
|
||||
var wts = await _dbContext.WeeklyTimeSpans.Include(x => x.Pauses).Where(x => x.Startdate.Date.Equals(startTime.Date)).ToListAsync();
|
||||
return _mapper.Map<List<WeeklyTimeSpan>, WeeklyTimeSpanDTO>(wts);
|
||||
}
|
||||
|
||||
public async Task<WeeklyTimeSpan> AddWeeklyTimeSpan(WeeklyTimeSpan weeklytimespan)
|
||||
public async Task<WeeklyTimeSpanDTO> AddWeeklyTimeSpan(WeeklyTimeSpanDTO weeklytimespan)
|
||||
{
|
||||
var obj = await _dbContext.WeeklyTimeSpans.AddAsync(weeklytimespan);
|
||||
_dbContext.SaveChanges();
|
||||
return obj.Entity;
|
||||
var wts = _mapper.Map<WeeklyTimeSpanDTO, WeeklyTimeSpan>(weeklytimespan);
|
||||
var obj = await _dbContext.WeeklyTimeSpans.AddAsync(wts);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return _mapper.Map<WeeklyTimeSpan, WeeklyTimeSpanDTO>(obj.Entity);
|
||||
}
|
||||
|
||||
public bool DeleteWeeklyTimeSpan(int weeklytimespanId)
|
||||
public async Task<bool> DeleteWeeklyTimeSpan(int weeklytimespanId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var item = _dbContext.WeeklyTimeSpans.Where(x => x.Id == weeklytimespanId).FirstOrDefault();
|
||||
var item = await _dbContext.WeeklyTimeSpans.Where(x => x.Id == weeklytimespanId).FirstOrDefaultAsync();
|
||||
_dbContext.WeeklyTimeSpans.Remove(item);
|
||||
_dbContext.SaveChanges();
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return true;
|
||||
}
|
||||
catch (Exception)
|
||||
@@ -59,22 +69,14 @@ namespace HanyadikHetVan.Services
|
||||
}
|
||||
}
|
||||
|
||||
public bool UpdateWeeklyTimeSpan(WeeklyTimeSpan weeklytimespan)
|
||||
public async Task<WeeklyTimeSpanDTO> UpdateWeeklyTimeSpan(WeeklyTimeSpanDTO weeklytimespan)
|
||||
{
|
||||
try
|
||||
{
|
||||
var DataList = _dbContext.WeeklyTimeSpans.ToList();
|
||||
foreach (var item in DataList)
|
||||
{
|
||||
_dbContext.WeeklyTimeSpans.Update(item);
|
||||
_dbContext.SaveChanges();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
var wts = _mapper.Map<WeeklyTimeSpanDTO, WeeklyTimeSpan>(weeklytimespan);
|
||||
wts.Id = weeklytimespan.Id;
|
||||
_dbContext.WeeklyTimeSpans.Update(wts);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var newwts = await _dbContext.WeeklyTimeSpans.Where(x => x.Id == weeklytimespan.Id).FirstOrDefaultAsync();
|
||||
return _mapper.Map<WeeklyTimeSpan, WeeklyTimeSpanDTO>(newwts);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user