using System; using System.Collections.Generic; using System.Text; using zhengcaioa.Models; using IServices; using AutoMapper; using DTO; using System.Linq; namespace Services { public class AskService: IAskService { private readonly zhengcaioaContext _context; private readonly IMapper _mapper; public AskService(zhengcaioaContext context, IMapper mapper) { _context = context; _mapper = mapper; } #region 费用申请 public ResultEntity SaveAskcost(AdmAskcostDTO admAsk) { ResultEntity resultEntity = new ResultEntity(); try { AdmAskcost ask = _mapper.Map(admAsk); if (string.IsNullOrEmpty(admAsk.Id)) { ask.Id = Guid.NewGuid().ToString(); admAsk.Id = ask.Id; _context.AdmAskcosts.Add(ask); } else { var entity = _context.AdmAskcosts.Find(admAsk.Id); entity.Cost = admAsk.Cost; entity.Remark = admAsk.Remark; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; entity.Tittle = admAsk.Tittle; entity.Modifier = admAsk.Modifier; entity.Modifytime = DateTime.Now; } _context.SaveChanges(); resultEntity.ReturnID = ask.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "保存失败,请联系管理员"; ex.Message.ToString(); } return resultEntity; } public AdmAskcostDTO GetAskcost(string Id) { var entity = _context.AdmAskcosts.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault(); if (entity == null) { entity = new AdmAskcost(); } var leaveDTO = _mapper.Map(entity); return leaveDTO; } #endregion #region 物品申领 public ResultEntity SaveAskGood(AdmAskGoodDTO admAsk) { ResultEntity resultEntity = new ResultEntity(); try { AdmAskGood ask = _mapper.Map(admAsk); if (string.IsNullOrEmpty(admAsk.Id)) { ask.Id = Guid.NewGuid().ToString(); admAsk.Id = ask.Id; _context.AdmAskGoods.Add(ask); } else { var entity = _context.AdmAskGoods.Find(admAsk.Id); entity.Shuliang = admAsk.Shuliang; entity.GoodsId = admAsk.GoodsId; entity.Remark = admAsk.Remark; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; entity.Tittle = admAsk.Tittle; entity.Modifier = admAsk.Modifier; entity.Modifytime = DateTime.Now; } _context.SaveChanges(); resultEntity.ReturnID = ask.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "保存失败,请联系管理员"; ex.Message.ToString(); } return resultEntity; } public AdmAskGoodDTO GetAskGood(string Id) { var entity = _context.AdmAskGoods.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault(); if (entity == null) { entity = new AdmAskGood(); } var leaveDTO = _mapper.Map(entity); return leaveDTO; } #endregion #region 加班申请 public ResultEntity SaveAskovertime(AdmAskovertimeDTO admAsk) { ResultEntity resultEntity = new ResultEntity(); try { AdmAskovertime ask = _mapper.Map(admAsk); if (string.IsNullOrEmpty(admAsk.Id)) { ask.Id = Guid.NewGuid().ToString(); admAsk.Id = ask.Id; _context.AdmAskovertimes.Add(ask); } else { var entity = _context.AdmAskovertimes.Find(admAsk.Id); entity.Overtime = admAsk.Overtime; entity.Jiabantime = admAsk.Jiabantime; entity.Remark = admAsk.Remark; entity.ShenpiStatus = admAsk.ShenpiStatus; entity.CreaterName = admAsk.CreaterName; entity.Tittle = admAsk.Tittle; entity.Modifier = admAsk.Modifier; entity.Modifytime = DateTime.Now; } _context.SaveChanges(); resultEntity.ReturnID = ask.Id; resultEntity.Result = true; } catch (Exception ex) { resultEntity.Result = false; resultEntity.Message = "保存失败,请联系管理员"; ex.Message.ToString(); } return resultEntity; } public AdmAskovertimeDTO GetAskovertime(string Id) { var entity = _context.AdmAskovertimes.Where(e => e.RecStatus == "A" && e.Id == Id).FirstOrDefault(); if (entity == null) { entity = new AdmAskovertime(); } var leaveDTO = _mapper.Map(entity); return leaveDTO; } public AdmAskovertimeDTO GetAskovertimeByUeridAndjiabantime(string Creater, DateTime Jiabantime) { var entity = _context.AdmAskovertimes.Where(e => e.RecStatus == "A" && e.ShenpiStatus == "A" && e.Creater == Creater && e.Jiabantime == Jiabantime).OrderByDescending(x=>x.Createtime).FirstOrDefault(); if (entity == null) { entity = new AdmAskovertime(); } var leaveDTO = _mapper.Map(entity); return leaveDTO; } #endregion } }