コード例 #1
0
 /// <summary>
 /// 级联删除所有给定配送地区子地区的数据库记录
 /// </summary>
 /// <param name="warehouseRegion"></param>
 private void DeleteChildWarehouseRegion(WarehouseRegion warehouseRegion)
 {
     List<Guid> regionIDs = (from r in dbEntity.GeneralRegions
                             where r.aParent == warehouseRegion.RegionID
                                && r.Deleted == false
                             select r.Gid).ToList();
     List<WarehouseRegion> childItems = (from wr in dbEntity.WarehouseRegions
                                         join id in regionIDs
                                         on wr.RegionID equals id
                                         where wr.Deleted == false
                                         select wr).ToList();
     if (childItems.Any())
     {
         foreach (WarehouseRegion item in childItems)
             DeleteChildWarehouseRegion(item);
     }
     warehouseRegion.Deleted = true;
 }
コード例 #2
0
ファイル: DataTransferBLL.cs プロジェクト: NH4CL/UniProject
        /// <summary>
        /// 导入仓库支持的地区
        /// </summary>
        /// <param name="sExcelFile">Excel文件名</param>
        /// <param name="sSheetName">Sheet名</param>
        public void ImportWarehouseRegion(string sExcelFile, string sSheetName)
        {
            try
            {
                ExcelData oExcel = new ExcelData(sExcelFile, sSheetName);
                DataColumn colOrgan = oExcel.ExcelTable.Columns["组织"];
                DataColumn colWhCode = oExcel.ExcelTable.Columns["仓库"];
                DataColumn colRegion = oExcel.ExcelTable.Columns["地区"];
                DataColumn colRemark = oExcel.ExcelTable.Columns["备注"];

                string sLastOrgan = "";
                string sLastWarehouse = "";
                WarehouseInformation oWarehouse = null;
                foreach (DataRow row in oExcel.ExcelTable.Rows)
                {
                    string sOrgCode = row[colOrgan].ToString();
                    string sWhCode = row[colWhCode].ToString();
                    string sRegion = row[colRegion].ToString();
                    string sRemark = row[colRemark].ToString();

                    if ((sWhCode != sLastWarehouse) || (sOrgCode != sLastOrgan))
                    {
                        oWarehouse = (from w in dbEntity.WarehouseInformations
                                      where w.Parent.Code == sOrgCode && w.Code == sWhCode
                                      select w).FirstOrDefault();
                        sLastOrgan = sOrgCode;
                        sLastWarehouse = sWhCode;
                    }
                    var oRegion = (from r in dbEntity.GeneralRegions
                                   where r.Code == sRegion
                                   select r).FirstOrDefault();
                    if (oRegion != null)
                    {
                        var oWhRegion = (from r in dbEntity.WarehouseRegions
                                         where r.WhID == oWarehouse.Gid && r.RegionID == oRegion.Gid
                                         select r).FirstOrDefault();
                        if (oWhRegion == null)
                        {
                            oWhRegion = new WarehouseRegion { Warehouse = oWarehouse, Region = oRegion };
                            dbEntity.WarehouseRegions.Add(oWhRegion);
                        }
                        oWhRegion.Remark = sRemark;
                        dbEntity.SaveChanges();
                    }
                    if (Utility.ConfigHelper.GlobalConst.IsDebug)
                        Debug.WriteLine("{0} {1} {2}", this.ToString(), sRegion, sRemark);
                }
                oEventBLL.WriteEvent(String.Format("导入WarehouseRegion成功: {0} {1}", sExcelFile, sSheetName),
                    ModelEnum.ActionLevel.GENERIC, ModelEnum.ActionSource.SYSTEM, this.ToString());
            }
            catch (Exception ex)
            {
                oEventBLL.WriteEvent(String.Format("导入WarehouseRegion错误: {0} {1} {2}", sExcelFile, sSheetName, ex.Message),
                    ModelEnum.ActionLevel.ERROR, ModelEnum.ActionSource.SYSTEM, this.ToString());
            }
        }
コード例 #3
0
 public JsonResult RegionAdd(Guid whID, Guid regionID)
 {
     bool result;
     WarehouseInformation warehouse = dbEntity.WarehouseInformations.Find(whID);
     if (warehouse == null || warehouse.Deleted)
     {
         //不存在仓库
         result = false;
     }
     else
     {
         //存在仓库
         List<WarehouseRegion> warehouseRegions = (from r in dbEntity.WarehouseRegions
                                                   where r.WhID == whID
                                                      && r.RegionID == regionID
                                                   select r).ToList();
         if (warehouseRegions.Any(r => !r.Deleted))
         {
             //已存在仓库支持地区
             result = true;
         }
         else
         {
             //不存在仓库支持地区
             WarehouseRegion warehouseRegion;
             if (warehouseRegions.Any())
             {
                 warehouseRegion = warehouseRegions.First();
                 warehouseRegion.Deleted = false;
             }
             else
             {
                 warehouseRegion = new WarehouseRegion
                 {
                     WhID = whID,
                     RegionID = regionID,
                     Terminal = true
                 };
                 dbEntity.WarehouseRegions.Add(warehouseRegion);
             }
             DeleteChildWarehouseRegion(warehouseRegion);
             warehouseRegion.Deleted = false;
             dbEntity.SaveChanges();
             result = true;
         }
     }
     return Json(result, JsonRequestBehavior.AllowGet);
 }