TG.WXCRM.V4/Model/QueryMap/QHCommissionRuleInfo.cs

260 lines
8.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace WX.CRM.Model.QueryMap
{
public class QHCommissionRuleInfo
{
/// <summary>
/// 是否为主经纪人操作,1主经纪人操作0非主经纪人操作
/// </summary>
[NotMapped]
public string isOwner { get; set; }
/// <summary>
/// 根据交易商号验证时通过为1否则为0
/// </summary>
[NotMapped]
public int tradeStatus { get; set; }
[NotMapped]
public string errStr { get; set; }
[NotMapped]
public decimal pkid { get; set; }
[NotMapped]
public string viewKey
{
get { return isEdit == true ? "display:normal;" : "display:none;"; }
}
[NotMapped]
public bool isEdit { get; set; }
[Required(ErrorMessage = "交易商代码不能为空!")]
[NotMapped]
public string userAccount { get; set; }
[NotMapped]
public string userName { get; set; }
[Required(ErrorMessage = "开始日期不能为空!")]
[NotMapped]
public DateTime sdDate { get; set; }
[Required(ErrorMessage = "结束日期不能为空!")]
[NotMapped]
public DateTime edDate { get; set; }
[NotMapped]
public string sdDateChar { get { return this.sdDate.ToString("yyyy-MM-dd"); } }
[NotMapped]
public string edDateChar { get { return this.edDate.ToString("yyyy-MM-dd"); } }
[NotMapped]
public string itemsXml
{
get
{
string r = "<root><users>{0}</users></root>";
string userStr = "";
if (item0.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item0.eid
, item0.ratio
, item0.isno);
}
if (item1.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item1.eid
, item1.ratio
, item1.isno);
}
if (item2.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item2.eid
, item2.ratio
, item2.isno);
}
if (item3.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item3.eid
, item3.ratio
, item3.isno);
}
if (item4.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item4.eid
, item4.ratio
, item4.isno);
}
if (item5.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item5.eid
, item5.ratio
, item5.isno);
}
if (item6.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item6.eid
, item6.ratio
, item6.isno);
}
if (item7.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item7.eid
, item7.ratio
, item7.isno);
}
if (item8.eid > 0)
{
userStr += string.Format("<user><userId>{0}</userId><commisstionRatio>{1}</commisstionRatio><ison>{2}</ison><divtype>0</divtype></user>"
, item8.eid
, item8.ratio
, item8.isno);
}
return string.Format(r, userStr);
}
}
ruleRatio _item0 = new ruleRatio(1);
[NotMapped]
public ruleRatio item0
{
get { return _item0; }
set { _item0 = value; }
}
ruleRatio _item1 = new ruleRatio(2);
[NotMapped]
public ruleRatio item1
{
get { return _item1; }
set { _item1 = value; }
}
ruleRatio _item2 = new ruleRatio(2);
[NotMapped]
public ruleRatio item2
{
get { return _item2; }
set { _item2 = value; }
}
ruleRatio _item3 = new ruleRatio(2);
[NotMapped]
public ruleRatio item3
{
get { return _item3; }
set { _item3 = value; }
}
ruleRatio _item4 = new ruleRatio(3);
[NotMapped]
public ruleRatio item4
{
get { return _item4; }
set { _item4 = value; }
}
ruleRatio _item5 = new ruleRatio(3);
[NotMapped]
public ruleRatio item5
{
get { return _item5; }
set { _item5 = value; }
}
ruleRatio _item6 = new ruleRatio(3);
[NotMapped]
public ruleRatio item6
{
get { return _item6; }
set { _item6 = value; }
}
ruleRatio _item7 = new ruleRatio(4);
[NotMapped]
public ruleRatio item7
{
get { return _item7; }
set { _item7 = value; }
}
ruleRatio _item8 = new ruleRatio(4);
[NotMapped]
public ruleRatio item8
{
get { return _item8; }
set { _item8 = value; }
}
public bool ValidationRatio(out string errorstr)
{
bool r = false;
errorstr = "";
decimal sum = 0;
if (item0.eid > 0)
sum += item0.ratio.GetValueOrDefault(0);
if (item1.eid > 0)
sum += item1.ratio.GetValueOrDefault(0);
if (item2.eid > 0)
sum += item2.ratio.GetValueOrDefault(0);
if (item3.eid > 0)
sum += item3.ratio.GetValueOrDefault(0);
if (item4.eid > 0)
sum += item4.ratio.GetValueOrDefault(0);
if (item5.eid > 0)
sum += item5.ratio.GetValueOrDefault(0);
if (item6.eid > 0)
sum += item6.ratio.GetValueOrDefault(0);
if (item7.eid > 0)
sum += item7.ratio.GetValueOrDefault(0);
if (item8.eid > 0)
sum += item8.ratio.GetValueOrDefault(0);
if (sum == 100)
{
r = true;
errorstr = "成功!";
}
else
{
r = false;
errorstr = "分成合计不等于100%";
}
return r;
}
public List<ruleRatio> RuleRatioList
{
get { return new List<ruleRatio> { item0, item1, item2, item3, item4, item5, item6, item7, item8 }; }
}
public Dictionary<decimal, decimal> GetUserEidList()
{
return RuleRatioList.Where(rule => rule.eid.HasValue && rule.ratio.HasValue).ToDictionary(rule => rule.eid.Value, rule => rule.ratio.Value);
}
public class ruleRatio
{
int _isno = 0;
public ruleRatio(int p_isno)
{
_isno = p_isno;
IsEdit = true;
}
[RegularExpression(@"^\d+$", ErrorMessage = "工号不正确!")]
[NotMapped]
public decimal? eid { get; set; }
[RegularExpression(@"^\d+$", ErrorMessage = "分成比例是数值类型!")]
[NotMapped]
public decimal? ratio { get; set; }
[NotMapped]
public int isno
{
get { return _isno; }
}
[NotMapped]
public int divType { get; set; }
[NotMapped]
public bool IsEdit { get; set; }
}
}
}