本文整理汇总了C#中PDT_ProductBLL.Add方法的典型用法代码示例。如果您正苦于以下问题:C# PDT_ProductBLL.Add方法的具体用法?C# PDT_ProductBLL.Add怎么用?C# PDT_ProductBLL.Add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PDT_ProductBLL
的用法示例。
在下文中一共展示了PDT_ProductBLL.Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DoImportProduct
public string DoImportProduct(int TemplateID, int Client, ISheet Sheet, out int State)
{
string ImportInfo = "【商品资料】Excel表:";
State = 0;
IPT_UploadTemplateBLL _template = new IPT_UploadTemplateBLL(TemplateID);
List<string> listPDT = new List<string>() { "序号", "大类", "小类", "商品编码", "产品名称", "规格型号", "大单位", "小单位", "整零换算系数", "整件重量", "销售价", "采购价", "保质期", "整件条码", "零售条码" };
DataTable dt = null;
bool flag = VertifySheet(Sheet, listPDT, out dt, ref ImportInfo);
if (!flag) { State = 4; return ImportInfo; }
foreach (DataRow dr in dt.Rows)//循环导入数据
{
try
{
decimal _pdtBuyPrice = (!string.IsNullOrEmpty(dr["采购价"].ToString())) ? Convert.ToDecimal(dr["采购价"].ToString()) : 0;
decimal _pdtSalesPrice = (!string.IsNullOrEmpty(dr["销售价"].ToString())) ? Convert.ToDecimal(dr["销售价"].ToString()) : 0;
if (_pdtSalesPrice == 0) continue;//销售价格围标表示门店不经营
int _pdtID = 0;
string _pdtCode = dr["商品编码"].ToString();
IList<PDT_ProductExtInfo> _listPDTExtInfo = PDT_ProductExtInfoBLL.GetProductExtInfoList_BySupplier(_template.Model.ClientID).Where(m => m.Code == _pdtCode).ToList();
if (_listPDTExtInfo != null && _listPDTExtInfo.Count > 0)
{
ImportInfo += string.Format("序号为{0},产品编码为{1}的产品与现有产品编码重复,跳过此行信息\r\n", dr["序号"], _pdtCode);
continue;
}
int _pdtCategory = 0;//类别
IList<PDT_Product> listPdt = PDT_ProductBLL.GetModelList(string.Format(" OwnerType IN (1,2) AND FactoryCode='{0}' ", _pdtCode));
if (listPdt == null || listPdt.Count == 0)//添加新产品
{
#region 获取产品类别
IList<PDT_Category> _listCategory = PDT_CategoryBLL.GetModelList(" SuperID=1 AND ApproveFlag=1 AND(OwnerType IN(1,2) OR (OwnerType=3 AND OwnerClient=" + _template.Model.ClientID.ToString() + " )) AND Name='" + dr["大类"].ToString() + "'");//获取大类(大类可能属于平台级和厂商级,也有可能属于经销商自己)
if (_listCategory == null || _listCategory.Count == 0)
{
PDT_CategoryBLL _bllCategory = new PDT_CategoryBLL();
_bllCategory.Model.Name = dr["大类"].ToString();
_bllCategory.Model.SuperID = 1;
_bllCategory.Model.EnabledFlag = "Y";
_bllCategory.Model.OwnerType = 3;
_bllCategory.Model.OwnerClient = _template.Model.ClientID;
_bllCategory.Model.Remark = "Excel批量导入";
_bllCategory.Model.ApproveFlag = 1;
_bllCategory.Model.InsertTime = DateTime.Now;
_bllCategory.Model.InsertStaff = _template.Model.InsertStaff;
_pdtCategory = _bllCategory.Add();
}
else { _pdtCategory = _listCategory[0].ID; }
IList<PDT_Category> _listCategory2 = PDT_CategoryBLL.GetModelList(" ApproveFlag=1 AND SuperID=" + _pdtCategory.ToString() + " AND (OwnerType IN(1,2) OR (OwnerType=3 AND OwnerClient=" + _template.Model.ClientID.ToString() + ")) AND Name='" + dr["小类"].ToString() + "'");//获取小类
if (_listCategory2 == null || _listCategory2.Count == 0)
{
PDT_CategoryBLL _bllCategory = new PDT_CategoryBLL();
_bllCategory.Model.Name = dr["小类"].ToString();
_bllCategory.Model.SuperID = _pdtCategory;
_bllCategory.Model.EnabledFlag = "Y";
_bllCategory.Model.OwnerType = 3;
_bllCategory.Model.OwnerClient = _template.Model.ClientID;
_bllCategory.Model.Remark = "Excel批量导入";
_bllCategory.Model.ApproveFlag = 1;
_bllCategory.Model.InsertTime = DateTime.Now;
_bllCategory.Model.InsertStaff = _template.Model.InsertStaff;
_pdtCategory = _bllCategory.Add();
}
else { _pdtCategory = _listCategory2[0].ID; }
#endregion
string _pdtName = dr["产品名称"].ToString();
if (string.IsNullOrEmpty(_pdtCode) && string.IsNullOrEmpty(_pdtName))
{
ImportInfo += string.Format("序号为{0}的行产品编码和名称均为空,跳过此行信息\r\n", dr["序号"]);
continue;
}
string _pdtSpec = dr["规格型号"].ToString();
IList<Dictionary_Data> _listData = DictionaryBLL.Dictionary_Data_GetAlllList(" TableName='PDT_Packaging' ");
string _strPdtTrafficPackaging = _listData.First(m => m.Name == dr["大单位"].ToString()).Code;
int _pdtTrafficPackaging = 0; int.TryParse(_strPdtTrafficPackaging, out _pdtTrafficPackaging);//整件单位
string _strPdtPackaging = _listData.First(m => m.Name == dr["小单位"].ToString()).Code;
int _pdtPackaging = 0; int.TryParse(_strPdtPackaging, out _pdtPackaging);//零售包装
int _pdtConvertFactor = (!string.IsNullOrEmpty(dr["整零换算系数"].ToString())) ? Convert.ToInt32(dr["整零换算系数"].ToString()) : 0;//重要信息强制显示,出错时直接跳过此行
decimal _pdtWeight = 0; decimal.TryParse(dr["整件重量"].ToString(), out _pdtWeight);
int _pdtExpiry = 0; int.TryParse(dr["保质期"].ToString(), out _pdtExpiry);
string _pdtBoxBarCode = dr["整件条码"].ToString();
string _pdtBarCode = dr["零售条码"].ToString();
PDT_ProductBLL _bllProduct = new PDT_ProductBLL();
_bllProduct.Model.FullName = _pdtName;
_bllProduct.Model.ShortName = _pdtName;
_bllProduct.Model.Spec = _pdtSpec;
_bllProduct.Model.TrafficPackaging = _pdtTrafficPackaging;
_bllProduct.Model.Packaging = _pdtPackaging;
_bllProduct.Model.ConvertFactor = _pdtConvertFactor;
_bllProduct.Model.BoxBarCode = _pdtBoxBarCode;
_bllProduct.Model.BarCode = _pdtBarCode;
_bllProduct.Model.Weight = _pdtWeight;
_bllProduct.Model.Expiry = _pdtExpiry;
//.........这里部分代码省略.........
示例2: SyncSellOut
/// <summary>
/// 同步经销商进货单
/// </summary>
/// <param name="begindate"></param>
/// <param name="enddate"></param>
/// <param name="clientcode"></param>
private void SyncSellOut(DateTime begindate, DateTime enddate, string clientcode)
{
try
{
int success = 0;
//从进销存数据库中读取出货数据
DataTable dtShipHeader = null;
if (string.IsNullOrEmpty(clientcode))
{
dtShipHeader = ERPIF.GetShipHeader(begindate, enddate);
}
else
{
SendMessage(0, "经销商代码:" + clientcode);
dtShipHeader = ERPIF.GetShipHeader(begindate, enddate, clientcode);
}
SendMessage(0, "本次共获取到" + dtShipHeader.Rows.Count.ToString() + "条发货单待同步!" + _sClientCode);
for (int i = 0; i < dtShipHeader.Rows.Count; i++)
{
DataRow dr = dtShipHeader.Rows[i];
if (_bCancelSync)
{
SendMessage(0, "同步进行中时,被用户取消!");
break;
}
#region 逐条同步发货单
try
{
string SheetCode = dr["DELIVERY_ID"].ToString().Trim();
string ClientCode = dr["CUST_NUMBER"].ToString().Trim();
DateTime SalesDate = DateTime.Parse(dr["CARRY_SDATE"].ToString().Trim());
string DJType = dr["ORDER_TYPE"].ToString().Trim();
decimal discount = 0;
decimal.TryParse(dr["DISCOUNT"].ToString().Trim(), out discount);
if (DJType == "R") continue;
if (ORD_OrderDeliveryBLL.GetModelList(" SheetCode = '" + SheetCode + "'").Count > 0)
{
continue;
}
#region 判断客户号有效否
IList<CM_Client> clients = CM_ClientBLL.GetModelList(" Code= '" + ClientCode.ToString() + "' AND ActiveFlag=1 AND ApproveFlag=1");
if (clients.Count == 0)
{
SendMessage(-11, "经销商编号为" + ClientCode.ToString() + "的匹配错误!");
continue;
}
CM_Client client = clients[0];
if (client["DIClassify"] == "3")
{
//经销商子户头
client = new CM_ClientBLL(client.Supplier).Model;
if (client == null)
{
SendMessage(-12, "经销商编号为" + ClientCode.ToString() + "对应的经销商为子户头,但未关联正确的主户头!");
continue;
}
}
if (client["DIClassify"] != "1")
{
SendMessage(-13, "经销商编号为" + ClientCode.ToString() + "对应的经销商不是主户头!");
continue;
}
#endregion
#region 生成销量单头
ORD_OrderDeliveryBLL bll = new ORD_OrderDeliveryBLL();
bll.Model.SheetCode = SheetCode;
bll.Model.AccountMonth = AC_AccountMonthBLL.GetMonthByDate(SalesDate);
bll.Model.OrganizeCity = client.OrganizeCity;
bll.Model.State = 1; //未发货
bll.Model.Client = client.ID;
bll.Model.Store = client.Supplier;
if (dr["CARRY_EDATE"].ToString() != "")
bll.Model.PreArrivalDate = DateTime.Parse(dr["CARRY_EDATE"].ToString().Trim());
else
bll.Model.PreArrivalDate = SalesDate.AddDays(7); //默认7天后到货
bll.Model.ApproveFlag = 1;
bll.Model.InsertStaff = 1;
bll.Model["DeliveryTime"] = SalesDate.ToString("yyyy-MM-dd HH:mm");
bll.Model["TruckNo"] = dr["CARRY_CAR"].ToString().Trim();
bll.Model["DeliveryStaff"] = "1";
bll.Model["DeliveryRemark"] = "ERP发货单提取";
bll.Model["Discount"] = discount.ToString("0.###");
bll.Model["CarrySheetCode"] = dr["REQUEST_NUMBER"].ToString().Trim();
#endregion
//.........这里部分代码省略.........