TG.WXCRM.V4/BLL/Wx/WX_COMPLAINTATTENDANCE_BL.cs

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
}
}
}
}