163 lines
5.5 KiB
C#
163 lines
5.5 KiB
C#
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<WX_COMPLAINTATTENDANCE>, 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
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|