using System; using WX.CRM.BLL.Base; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Wx { public class WX_COMPLAINTATTENDANCE_BL : DbContextRepository, IWX_COMPLAINTATTENDANCE { public void AddOrUpdate(string pkid, decimal eid, int year, int month, decimal? tousu, decimal? chufa, decimal? chuqin) { DateTime m = new DateTime(year, month, 01); if (string.IsNullOrEmpty(pkid)) { #region if (tousu.HasValue) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 1, VAL = tousu.Value }; Add(info); } if (chufa.HasValue) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 2, VAL = chufa.Value }; Add(info); } if (chuqin.HasValue) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 3, VAL = chuqin.Value }; Add(info); } #endregion } else { var hasTousu = true; var hasChufa = true; var hasChuqin = true; var arr = pkid.Split(','); foreach (var item in arr) { var subarr = item.Split('|'); decimal id = 0; decimal.TryParse(subarr[0], out id); var model = Get(p => p.PKID == id); if (model != null) { #region if (subarr[1] == "1" && tousu.HasValue) { model.EID = eid; model.MONTH = m; model.VAL = tousu.Value; Update(model); hasTousu = false; } else if (subarr[1] == "1" && !tousu.HasValue) { Delete(model); } if (subarr[1] == "2" && chufa.HasValue) { model.EID = eid; model.MONTH = m; model.VAL = chufa.Value; Update(model); hasChufa = false; } else if (subarr[1] == "2" && !chufa.HasValue) { Delete(model); } if (subarr[1] == "3" && chuqin.HasValue) { model.EID = eid; model.MONTH = m; model.VAL = chuqin.Value; Update(model); hasChuqin = false; } else if (subarr[1] == "3" && !chuqin.HasValue) { Delete(model); } #endregion } } #region if (tousu.HasValue) { if (hasTousu) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 1, VAL = tousu.Value }; Add(info); } } if (chufa.HasValue) { if (hasChufa) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 2, VAL = chufa.Value }; Add(info); } } if (chuqin.HasValue) { if (hasChuqin) { var info = new WX_COMPLAINTATTENDANCE { PKID = new SEQUENCES_BL().Seq_base_get(), EID = eid, MONTH = m, TYPE = 3, VAL = chuqin.Value }; Add(info); } } #endregion } } } }