using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using AutoMapper;
|
using DTO;
|
using IServices;
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
using Microsoft.EntityFrameworkCore;
|
using zhengcaioa.Models;
|
namespace Services
|
{
|
public class AdmAttendanceRuleService:IAdmAttendanceRuleService
|
{
|
private readonly zhengcaioaContext _context;
|
private readonly IMapper _mapper;
|
public AdmAttendanceRuleService(zhengcaioaContext context, IMapper mapper)
|
{
|
_context = context;
|
_mapper = mapper;
|
}
|
|
public ResultEntity save(AdmAttendanceRuleDTO dto)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
|
|
var entity = _mapper.Map<AdmAttendanceRule>(dto);
|
|
|
if (String.IsNullOrEmpty(entity.Id))
|
{
|
|
entity.Id = Guid.NewGuid().ToString();
|
dto.Id = entity.Id;
|
_context.AdmAttendanceRules.Add(entity);
|
}
|
else
|
{
|
var updateproject = _context.AdmAttendanceRules.Find(entity.Id);
|
|
updateproject.WeekStart = entity.WeekStart;
|
updateproject.WeekEnd = entity.WeekEnd;
|
updateproject.WorkingStart = entity.WorkingStart;
|
updateproject.WorkingEnd = entity.WorkingEnd;
|
updateproject.OffworkStart = entity.OffworkStart;
|
updateproject.OffworkEnd = entity.OffworkEnd;
|
updateproject.FullAttendance = entity.FullAttendance;
|
updateproject.LatePayment1 = entity.LatePayment1;
|
updateproject.LatePayment2 = entity.LatePayment2;
|
updateproject.LatePayment3 = entity.LatePayment3;
|
|
updateproject.LatePayment4 = entity.LatePayment4;
|
updateproject.Absenteeism = entity.Absenteeism;
|
updateproject.AbsenteeismPayment1 = entity.AbsenteeismPayment1;
|
updateproject.AbsenteeismPayment2 = entity.AbsenteeismPayment2;
|
updateproject.PersonalPayment1 = entity.PersonalPayment1;
|
|
updateproject.PersonalPayment2 = entity.PersonalPayment2;
|
updateproject.PersonalPayment3 = entity.PersonalPayment3;
|
updateproject.PersonalPayment4 = entity.PersonalPayment4;
|
updateproject.SickPayment1 = entity.SickPayment1;
|
updateproject.SickPayment2 = entity.SickPayment2;
|
updateproject.SickPayment3 = entity.SickPayment3;
|
updateproject.SickPayment4 = entity.SickPayment4;
|
updateproject.Holiday = entity.Holiday;
|
updateproject.Rest = entity.Rest;
|
updateproject.Gala = entity.Gala;
|
updateproject.Weekend1 = entity.Weekend1;
|
updateproject.Usually = entity.Usually;
|
|
|
updateproject.RecStatus = entity.RecStatus;
|
updateproject.Modifier = entity.Modifier;
|
updateproject.Modifytime = entity.Modifytime;
|
|
}
|
|
_context.SaveChanges();
|
resultEntity.ReturnID = entity.Id;
|
resultEntity.Result = true;
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
|
public AdmAttendanceRuleDTO Get(string id)
|
{
|
var entity = new AdmAttendanceRule();
|
|
|
|
if(string.IsNullOrEmpty(id))
|
entity = _context.AdmAttendanceRules.FirstOrDefault();
|
else
|
entity = _context.AdmAttendanceRules.Find(id);
|
|
|
if (entity == null)
|
{
|
entity = new AdmAttendanceRule();
|
}
|
|
var result = _mapper.Map<AdmAttendanceRuleDTO>(entity);
|
|
|
return result;
|
}
|
|
|
|
|
public ResultEntity saveDtl(AdmAttendanceRulesDtlDTO dto)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
|
|
var entity = _mapper.Map<AdmAttendanceRulesDtl>(dto);
|
|
|
if (String.IsNullOrEmpty(entity.Id))
|
{
|
entity.Id = Guid.NewGuid().ToString();
|
_context.AdmAttendanceRulesDtls.Add(entity);
|
}
|
else
|
{
|
var updateproject = _context.AdmAttendanceRulesDtls.Find(entity.Id);
|
|
updateproject.Pid = entity.Pid;
|
updateproject.ValueStart = entity.ValueStart;
|
updateproject.ValueEnd = entity.ValueEnd;
|
updateproject.Name = entity.Name;
|
|
|
updateproject.RecStatus = entity.RecStatus;
|
updateproject.Modifier = entity.Modifier;
|
updateproject.Modifytime = entity.Modifytime;
|
|
}
|
|
_context.SaveChanges();
|
resultEntity.ReturnID = entity.Id;
|
resultEntity.Result = true;
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
|
public AdmAttendanceRulesDtlDTO GetDtl(string id)
|
{
|
var entity = new AdmAttendanceRulesDtl();
|
if (string.IsNullOrEmpty(id))
|
entity = _context.AdmAttendanceRulesDtls.FirstOrDefault();
|
else
|
entity = _context.AdmAttendanceRulesDtls.Find(id);
|
|
|
|
|
|
if (entity == null)
|
{
|
entity = new AdmAttendanceRulesDtl();
|
}
|
|
var result = _mapper.Map<AdmAttendanceRulesDtlDTO>(entity);
|
|
|
return result;
|
}
|
|
public List<AdmAttendanceRulesDtlDTO> GetDtlList(string pid)
|
{
|
|
|
|
var entity = _context.AdmAttendanceRulesDtls.ToList();
|
|
|
if (!string.IsNullOrEmpty(pid))
|
entity = entity.Where(x => x.Pid == pid).ToList();
|
|
|
var result = _mapper.Map<List<AdmAttendanceRulesDtlDTO>>(entity);
|
|
|
return result;
|
}
|
|
|
|
public ResultEntity RemoveDtlList(string pid)
|
{
|
ResultEntity resultEntity = new ResultEntity();
|
try
|
{
|
var admAttendanceRulesDtls = _context.AdmAttendanceRulesDtls.Where(x => x.Pid == pid).ToList();
|
|
foreach(var admAttendanceRulesDtl in admAttendanceRulesDtls)
|
{
|
_context.AdmAttendanceRulesDtls.Remove(admAttendanceRulesDtl);
|
}
|
_context.SaveChanges();
|
resultEntity.ReturnID = pid;
|
resultEntity.Result = true;
|
|
|
|
|
|
|
}
|
catch (Exception ex)
|
{
|
resultEntity.Result = false;
|
resultEntity.Message = "保存失败,请联系管理员";
|
|
}
|
return resultEntity;
|
}
|
|
}
|
}
|