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
{
///
/// 是否为主经纪人操作,1主经纪人操作,0非主经纪人操作
///
[NotMapped]
public string isOwner { get; set; }
///
/// 根据交易商号验证时,通过为1,否则为0
///
[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 = "{0}";
string userStr = "";
if (item0.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item0.eid
, item0.ratio
, item0.isno);
}
if (item1.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item1.eid
, item1.ratio
, item1.isno);
}
if (item2.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item2.eid
, item2.ratio
, item2.isno);
}
if (item3.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item3.eid
, item3.ratio
, item3.isno);
}
if (item4.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item4.eid
, item4.ratio
, item4.isno);
}
if (item5.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item5.eid
, item5.ratio
, item5.isno);
}
if (item6.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item6.eid
, item6.ratio
, item6.isno);
}
if (item7.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, item7.eid
, item7.ratio
, item7.isno);
}
if (item8.eid > 0)
{
userStr += string.Format("{0}{1}{2}0"
, 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 RuleRatioList
{
get { return new List { item0, item1, item2, item3, item4, item5, item6, item7, item8 }; }
}
public Dictionary 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; }
}
}
}