Beispiel #1
0
        /// <summary>
        /// 导入组织定义
        /// </summary>
        /// <param name="sExcelFile"></param>
        /// <param name="sSheetName"></param>
        public void ImportOrganizations(string sExcelFile, string sSheetName)
        {
            try
            {
                ExcelData oExcel = new ExcelData(sExcelFile, sSheetName);
                DataColumn colCode = oExcel.ExcelTable.Columns["代码"];
                DataColumn colOstatus = oExcel.ExcelTable.Columns["状态"];
                DataColumn colOtype = oExcel.ExcelTable.Columns["类型"];
                DataColumn colExCode = oExcel.ExcelTable.Columns["扩展代码"];
                DataColumn colExType = oExcel.ExcelTable.Columns["扩展类型"];
                DataColumn colExTypeCode = oExcel.ExcelTable.Columns["类型代码"];
                DataColumn colParent = oExcel.ExcelTable.Columns["上级"];
                DataColumn colTerminal = oExcel.ExcelTable.Columns["末级"];
                DataColumn colFullNameCN = oExcel.ExcelTable.Columns["中文完整名称"];
                DataColumn colFullNameUS = oExcel.ExcelTable.Columns["英文完整名称"];
                DataColumn colShortNameCN = oExcel.ExcelTable.Columns["中文简称"];
                DataColumn colShortNameUS = oExcel.ExcelTable.Columns["英文简称"];
                DataColumn colLocation = oExcel.ExcelTable.Columns["地区"];
                DataColumn colFullAddress = oExcel.ExcelTable.Columns["完整地址"];
                DataColumn colPostCode = oExcel.ExcelTable.Columns["邮政编码"];
                DataColumn colContact = oExcel.ExcelTable.Columns["联系人"];
                DataColumn colCellPhone = oExcel.ExcelTable.Columns["手机"];
                DataColumn colWorkPhone = oExcel.ExcelTable.Columns["电话"];
                DataColumn colWorkFax = oExcel.ExcelTable.Columns["传真"];
                DataColumn colEmail = oExcel.ExcelTable.Columns["电子邮件"];
                DataColumn colHomeUrl = oExcel.ExcelTable.Columns["主页"];
                DataColumn colBrief = oExcel.ExcelTable.Columns["简介"];
                DataColumn colIntroduction = oExcel.ExcelTable.Columns["介绍"];
                DataColumn colPuPolicy = oExcel.ExcelTable.Columns["PU编码规则"];
                DataColumn colSkuPolicy = oExcel.ExcelTable.Columns["SKU编码规则"];
                DataColumn colBarcodePolicy = oExcel.ExcelTable.Columns["条码编码规则"];
                DataColumn colRemark = oExcel.ExcelTable.Columns["备注"];

                foreach (DataRow row in oExcel.ExcelTable.Rows)
                {
                    string sCode = row[colCode].ToString();
                    byte nStatus;
                    Byte.TryParse(row[colOstatus].ToString(), out nStatus);
                    byte nType;
                    Byte.TryParse(row[colOtype].ToString(), out nType);
                    string sExCode = row[colExCode].ToString();

                    byte nExType;
                    Byte.TryParse(row[colExType].ToString(), out nExType);
                    string sExTypeCode = row[colExTypeCode].ToString();
                    var oExType = (from c in dbEntity.GeneralStandardCategorys
                                   where c.Ctype == nExType && c.Code == sExTypeCode
                                   select c).FirstOrDefault();

                    string sParent = row[colParent].ToString();
                    var oParent = (from m in dbEntity.MemberOrganizations
                                   where m.Code == sParent && m.Otype == (byte)ModelEnum.OrganizationType.CORPORATION
                                   select m).FirstOrDefault();

                    bool bLeaf = row[colTerminal].ToString() == "1" ? true : false;
                    GeneralResource oFullName = new GeneralResource(ModelEnum.ResourceType.STRING, 2052, row[colFullNameCN].ToString(), 1033, row[colFullNameUS].ToString());
                    GeneralResource oShortName = new GeneralResource(ModelEnum.ResourceType.STRING, 2052, row[colShortNameCN].ToString(), 1033, row[colShortNameUS].ToString());
                    string sLocation = row[colLocation].ToString();
                    var oLocation = (from r in dbEntity.GeneralRegions
                                     where r.Code == sLocation
                                     select r).FirstOrDefault();

                    string sFullAddress = row[colFullAddress].ToString();
                    string sPostCode = row[colPostCode].ToString();
                    string sContact = row[colContact].ToString();
                    string sCellPhone = row[colCellPhone].ToString();
                    string sWorkPhone = row[colWorkPhone].ToString();
                    string sWorkFax = row[colWorkFax].ToString();
                    string sEmail = row[colEmail].ToString();
                    string sHomeUrl = row[colHomeUrl].ToString();
                    string sBrief = row[colBrief].ToString();
                    string sIntroduction = row[colIntroduction].ToString();
                    string sPuPolicy = row[colPuPolicy].ToString();
                    string sSkuPolicy = row[colSkuPolicy].ToString();
                    string sBarcodePolicy = row[colBarcodePolicy].ToString();
                    string sRemark = row[colRemark].ToString();

                    switch ((ModelEnum.OrganizationType)nType)
                    {
                        case ModelEnum.OrganizationType.CORPORATION:
                            var oOrgan = (from o in dbEntity.MemberOrganizations
                                          where o.Code == sCode && o.Otype == nType
                                          select o).FirstOrDefault();
                            if (oOrgan == null)
                            {
                                oOrgan = new MemberOrganization
                                {
                                    Code = sCode,
                                    Otype = nType
                                };
                                dbEntity.MemberOrganizations.Add(oOrgan);
                            }
                            oOrgan.Ostatus = nStatus;
                            oOrgan.ExCode = sExCode;
                            oOrgan.ExtendType = oExType;
                            oOrgan.Parent = oParent;
                            oOrgan.Terminal = bLeaf;
                            if (oOrgan.FullName == null)
                                oOrgan.FullName = oFullName;
                            else
                                oOrgan.FullName.SetResource(ModelEnum.ResourceType.STRING, oFullName);
                            if (oOrgan.ShortName == null)
                                oOrgan.ShortName = oShortName;
                            else
                                oOrgan.ShortName.SetResource(ModelEnum.ResourceType.STRING, oShortName);
                            oOrgan.Location = oLocation;
                            oOrgan.FullAddress = sFullAddress;
                            oOrgan.PostCode = sPostCode;
                            oOrgan.Contact = sContact;
                            oOrgan.CellPhone = sCellPhone;
                            oOrgan.WorkPhone = sWorkPhone;
                            oOrgan.WorkFax = sWorkFax;
                            oOrgan.Email = sEmail;
                            oOrgan.HomeUrl = sHomeUrl;
                            oOrgan.Brief = sBrief;
                            if (!String.IsNullOrEmpty(sIntroduction))
                            {
                                if (oOrgan.Introduction == null)
                                    oOrgan.Introduction = new GeneralLargeObject(2052, sIntroduction);
                                else
                                    oOrgan.Introduction.SetLargeObject(2052, sIntroduction);
                            }
                            oOrgan.ProdCodePolicy = sPuPolicy;
                            oOrgan.SkuCodePolicy = sSkuPolicy;
                            oOrgan.BarcodePolicy = sBarcodePolicy;
                            oOrgan.Remark = sRemark;
                            dbEntity.SaveChanges();
                            break;
                        case ModelEnum.OrganizationType.CHANNEL:
                            var oChannel = (from o in dbEntity.MemberChannels
                                            where o.Code == sCode && o.Otype == nType
                                            select o).FirstOrDefault();
                            if (oChannel == null)
                            {
                                oChannel = new MemberChannel
                                {
                                    Code = sCode,
                                    Otype = nType
                                };
                                dbEntity.MemberChannels.Add(oChannel);
                            }
                            oChannel.Ostatus = nStatus;
                            oChannel.ExCode = sExCode;
                            oChannel.ExtendType = oExType;
                            oChannel.Parent = oParent;
                            oChannel.Terminal = bLeaf;
                            if (oChannel.FullName == null)
                                oChannel.FullName = oFullName;
                            else
                                oChannel.FullName.SetResource(ModelEnum.ResourceType.STRING, oFullName);
                            if (oChannel.ShortName == null)
                                oChannel.ShortName = oShortName;
                            else
                                oChannel.ShortName.SetResource(ModelEnum.ResourceType.STRING, oShortName);
                            oChannel.Location = oLocation;
                            oChannel.FullAddress = sFullAddress;
                            oChannel.PostCode = sPostCode;
                            oChannel.Contact = sContact;
                            oChannel.CellPhone = sCellPhone;
                            oChannel.WorkPhone = sWorkPhone;
                            oChannel.WorkFax = sWorkFax;
                            oChannel.Email = sEmail;
                            oChannel.HomeUrl = sHomeUrl;
                            oChannel.Brief = sBrief;
                            if (!String.IsNullOrEmpty(sIntroduction))
                            {
                                if (oChannel.Introduction == null)
                                    oChannel.Introduction = new GeneralLargeObject(2052, sIntroduction);
                                else
                                    oChannel.Introduction.SetLargeObject(2052, sIntroduction);
                            }
                            oChannel.ProdCodePolicy = sPuPolicy;
                            oChannel.SkuCodePolicy = sSkuPolicy;
                            oChannel.BarcodePolicy = sBarcodePolicy;
                            oChannel.Remark = sRemark;
                            dbEntity.SaveChanges();
                            break;
                        case ModelEnum.OrganizationType.SHIPPER:
                            var oShipper = (from o in dbEntity.ShippingInformations
                                            where o.Code == sCode && o.Otype == nType
                                            select o).FirstOrDefault();
                            if (oShipper == null)
                            {
                                oShipper = new ShippingInformation
                                {
                                    Code = sCode,
                                    Otype = nType
                                };
                                dbEntity.ShippingInformations.Add(oShipper);
                            }
                            oShipper.Ostatus = nStatus;
                            oShipper.ExCode = sExCode;
                            oShipper.ExtendType = oExType;
                            oShipper.Parent = oParent;
                            oShipper.Terminal = bLeaf;
                            if (oShipper.FullName == null)
                                oShipper.FullName = oFullName;
                            else
                                oShipper.FullName.SetResource(ModelEnum.ResourceType.STRING, oFullName);
                            if (oShipper.ShortName == null)
                                oShipper.ShortName = oShortName;
                            else
                                oShipper.ShortName.SetResource(ModelEnum.ResourceType.STRING, oShortName);
                            oShipper.Location = oLocation;
                            oShipper.FullAddress = sFullAddress;
                            oShipper.PostCode = sPostCode;
                            oShipper.Contact = sContact;
                            oShipper.CellPhone = sCellPhone;
                            oShipper.WorkPhone = sWorkPhone;
                            oShipper.WorkFax = sWorkFax;
                            oShipper.Email = sEmail;
                            oShipper.HomeUrl = sHomeUrl;
                            oShipper.Brief = sBrief;
                            if (!String.IsNullOrEmpty(sIntroduction))
                            {
                                if (oShipper.Introduction == null)
                                    oShipper.Introduction = new GeneralLargeObject(2052, sIntroduction);
                                else
                                    oShipper.Introduction.SetLargeObject(2052, sIntroduction);
                            }
                            oShipper.ProdCodePolicy = sPuPolicy;
                            oShipper.SkuCodePolicy = sSkuPolicy;
                            oShipper.BarcodePolicy = sBarcodePolicy;
                            oShipper.Remark = sRemark;
                            dbEntity.SaveChanges();
                            break;
                        case ModelEnum.OrganizationType.SUPPLIER:
                            var oSupplier = (from o in dbEntity.PurchaseSuppliers
                                             where o.Code == sCode && o.Otype == nType
                                             select o).FirstOrDefault();
                            if (oSupplier == null)
                            {
                                oSupplier = new PurchaseSupplier
                                {
                                    Code = sCode,
                                    Otype = nType
                                };
                                dbEntity.PurchaseSuppliers.Add(oSupplier);
                            }
                            oSupplier.Ostatus = nStatus;
                            oSupplier.ExCode = sExCode;
                            oSupplier.ExtendType = oExType;
                            oSupplier.Parent = oParent;
                            oSupplier.Terminal = bLeaf;
                            if (oSupplier.FullName == null)
                                oSupplier.FullName = oFullName;
                            else
                                oSupplier.FullName.SetResource(ModelEnum.ResourceType.STRING, oFullName);
                            if (oSupplier.ShortName == null)
                                oSupplier.ShortName = oShortName;
                            else
                                oSupplier.ShortName.SetResource(ModelEnum.ResourceType.STRING, oShortName);
                            oSupplier.Location = oLocation;
                            oSupplier.FullAddress = sFullAddress;
                            oSupplier.PostCode = sPostCode;
                            oSupplier.Contact = sContact;
                            oSupplier.CellPhone = sCellPhone;
                            oSupplier.WorkPhone = sWorkPhone;
                            oSupplier.WorkFax = sWorkFax;
                            oSupplier.Email = sEmail;
                            oSupplier.HomeUrl = sHomeUrl;
                            oSupplier.Brief = sBrief;
                            if (!String.IsNullOrEmpty(sIntroduction))
                            {
                                if (oSupplier.Introduction == null)
                                    oSupplier.Introduction = new GeneralLargeObject(2052, sIntroduction);
                                else
                                    oSupplier.Introduction.SetLargeObject(2052, sIntroduction);
                            }
                            oSupplier.ProdCodePolicy = sPuPolicy;
                            oSupplier.SkuCodePolicy = sSkuPolicy;
                            oSupplier.BarcodePolicy = sBarcodePolicy;
                            oSupplier.Remark = sRemark;
                            dbEntity.SaveChanges();
                            break;
                        case ModelEnum.OrganizationType.WAREHOUSE:
                            var oWarehouse = (from o in dbEntity.WarehouseInformations
                                              where o.Code == sCode && o.Otype == nType
                                              select o).FirstOrDefault();
                            if (oWarehouse == null)
                            {
                                oWarehouse = new WarehouseInformation
                                {
                                    Code = sCode,
                                    Otype = nType
                                };
                                dbEntity.WarehouseInformations.Add(oWarehouse);
                            }
                            oWarehouse.Ostatus = nStatus;
                            oWarehouse.ExCode = sExCode;
                            oWarehouse.ExtendType = oExType;
                            oWarehouse.Parent = oParent;
                            oWarehouse.Terminal = bLeaf;
                            if (oWarehouse.FullName == null)
                                oWarehouse.FullName = oFullName;
                            else
                                oWarehouse.FullName.SetResource(ModelEnum.ResourceType.STRING, oFullName);
                            if (oWarehouse.ShortName == null)
                                oWarehouse.ShortName = oShortName;
                            else
                                oWarehouse.ShortName.SetResource(ModelEnum.ResourceType.STRING, oShortName);
                            oWarehouse.Location = oLocation;
                            oWarehouse.FullAddress = sFullAddress;
                            oWarehouse.PostCode = sPostCode;
                            oWarehouse.Contact = sContact;
                            oWarehouse.CellPhone = sCellPhone;
                            oWarehouse.WorkPhone = sWorkPhone;
                            oWarehouse.WorkFax = sWorkFax;
                            oWarehouse.Email = sEmail;
                            oWarehouse.HomeUrl = sHomeUrl;
                            oWarehouse.Brief = sBrief;
                            if (!String.IsNullOrEmpty(sIntroduction))
                            {
                                if (oWarehouse.Introduction == null)
                                    oWarehouse.Introduction = new GeneralLargeObject(2052, sIntroduction);
                                else
                                    oWarehouse.Introduction.SetLargeObject(2052, sIntroduction);
                            }
                            oWarehouse.ProdCodePolicy = sPuPolicy;
                            oWarehouse.SkuCodePolicy = sSkuPolicy;
                            oWarehouse.BarcodePolicy = sBarcodePolicy;
                            oWarehouse.Remark = sRemark;
                            dbEntity.SaveChanges();
                            break;
                    }
                    if (Utility.ConfigHelper.GlobalConst.IsDebug)
                        Debug.WriteLine("{0} {1} {2}", this.ToString(), sCode, oFullName.Matter);
                }
                oEventBLL.WriteEvent(String.Format("导入MemberOrganization成功: {0} {1}", sExcelFile, sSheetName),
                    ModelEnum.ActionLevel.GENERIC, ModelEnum.ActionSource.SYSTEM, this.ToString());
            }
            catch (Exception ex)
            {
                oEventBLL.WriteEvent(String.Format("导入MemberOrganization错误: {0} {1} {2}", sExcelFile, sSheetName, ex.Message),
                    ModelEnum.ActionLevel.ERROR, ModelEnum.ActionSource.SYSTEM, this.ToString());
            }
        }
Beispiel #2
0
        //public ActionResult OrderSupportShippingList()
        //{
        //    return View();
        //}
        ///// <summary>
        ///// 编辑订单时候显示的承运商列表
        ///// </summary>
        ///// <param name="searchModel"></param>
        ///// <returns></returns>
        //public ActionResult ListOrderSupportShipping(SearchModel searchModel)
        //{
        //    //需要对应全局的订单Guid
        //    Guid orderGid = oNewOrder.Gid;
        //    IQueryable<OrderShipping> oOrderShipping = dbEntity.OrderShippings.Include("Order").Include("Shipper").Where(p => p.Deleted == false && p.OrderID == orderGid).AsQueryable();
        //    GridColumnModelList<OrderShipping> columns = new GridColumnModelList<OrderShipping>();
        //    columns.Add(p => p.Gid).SetAsPrimaryKey();
        //    columns.Add(p => p.Shipper.FullName.GetResource(CurrentSession.Culture)).SetName("ShipperName");
        //    columns.Add(p => p.ShipWeight);
        //    columns.Add(p => p.ShippingCheckName).SetName("ShipStatus");
        //    columns.Add(p => p.Candidate);
        //    columns.Add(p => p.Remark);
        //    GridData gridData = oOrderShipping.ToGridData(searchModel, columns);
        //    return Json(gridData, JsonRequestBehavior.AllowGet);
        //}
        /// <summary>
        /// 添加订单时列出支持的承运商
        /// </summary>
        /// <returns></returns>
        public ActionResult ShippingListShow()
        {
            OrderBLL oOrderBLL = new OrderBLL(this.dbEntity);//新建oOrderBLL对象
            List<ShippingInformation> oShippingList = new List<ShippingInformation>();
            List<SelectListItem> shippinglist = new List<SelectListItem>();
            if (oNewOrder.WhID != null && oNewOrder.aLocation != null && listNewOrderItem.Count>=1)
            {
                //-----------edit by 2011/10/24 需求:手动编辑订单是可以选择所有组织支持的承运商
                //获取支持的承运商列表
                //oShippingList = oOrderBLL.GetSupportShippings(listNewOrderItem, (Guid)oNewOrder.WhID, (Guid)oNewOrder.aLocation);
                //获取组织支持的所有承运商
                oShippingList = dbEntity.ShippingInformations.Where(s => s.aParent == oNewOrder.OrgID && s.Deleted == false).ToList();
                //------------------------------------------------------------------------------

                listNewOrderShipping.Clear();//每次都清除之前的承运商列表,以保证该列表永远是最新的-----BUG修改09.25
                if (oShippingList.Count > 0)
                {
                    for (int i = 0; i < oShippingList.Count; i++)
                    {
                        OrderShipping oNewOrderShipping = new OrderShipping
                        {
                            ShipID = oShippingList.ElementAt(i).Gid,
                            Order = oNewOrder
                        };
                        listNewOrderShipping.Add(oNewOrderShipping);
                        shippinglist.Add(new SelectListItem { Text = oShippingList.ElementAt(i).FullName.GetResource(CurrentSession.Culture), Value = oShippingList.ElementAt(i).Gid.ToString() });
                    }
                    oNewShipper = oShippingList.ElementAt(0);//默认选中权重最大的,即通过排序查找出的列表的第一个
                    foreach (var reg in oOrderBLL.GetFullRegions((Guid)oNewOrder.aLocation))
                    {
                        if (oNewShipper.Areas != null)//支持区域不为空
                        {
                            foreach (var area in oNewShipper.Areas)
                            {
                                if (area.RegionID == reg.Gid)
                                {
                                    oNewOrder.ResidenceFee = area.Residential == null? 0:area.Residential.GetResource((Guid)oNewOrder.aCurrency);//收取的到门费
                                    oNewOrder.LiftGateFee = area.LiftGate == null? 0:area.LiftGate.GetResource((Guid)oNewOrder.aCurrency);//收取的上楼费
                                    oNewOrder.InstallFee = area.Installation == null? 0:area.Installation.GetResource((Guid)oNewOrder.aCurrency);//收取的安装费
                                }
                            }
                        }
                    }
                }
                else//未找到符合的承运商
                {
                    oNewShipper = new ShippingInformation();
                }
            }
            ViewBag.shippinglist = shippinglist;

            return View();
        }
Beispiel #3
0
 public void ProductOnShippingTest()
 {
     ProductOnSale oProd = ProductOnSaleTest();
     ProductOnItem oSku = ProductOnItemTest();
     ShippingInformation shipper = new ShippingInformation
     {
         Code = GetRandCode()
     };
     oLiveEntities.ShippingInformations.Add(shipper);
     ProductOnShipping ship = new ProductOnShipping
     {
         OnSale = oProd,
         Shipper = shipper
     };
     oLiveEntities.ProductOnShippings.Add(ship);
     oLiveEntities.SaveChanges();
 }
Beispiel #4
0
 /// <summary>
 /// 查看选择的订单信息
 /// </summary>
 /// <param name="orderGid"></param>
 /// <returns></returns>
 public string SetViewOrderInfo(Guid orderGid)
 {
     //查询出查看的订单信息
     OrderInformation oViewOrder = dbEntity.OrderInformations.Include("Organization").Include("Channel").Include("User").Include("Warehouse").Include("PayType").Include("Currency").Include("Location").Include("OrderItems").Include("OrderProcesses").Include("OrderAttributes").Include("OrderHistories").Where(p => p.Gid == orderGid && p.Deleted == false).FirstOrDefault();
     //设置订单页面编辑状态
     if (oViewOrder.Hanged == (byte)ModelEnum.HangStatus.HANGED)
         bChangeOrder = true;
     else
         bChangeOrder = false;
     if (oViewOrder.Equals(null))
     {
         return "failure";
     }
     oNewOrder = oViewOrder;
     listNewOrderItem.Clear();//清空缓存区商品列表
     foreach (OrderItem item in oNewOrder.OrderItems)
     {
         OrderItem obj = dbEntity.OrderItems.Include("OnSkuItem").Include("SkuItem").Where(o => o.Gid == item.Gid && o.Deleted==false).FirstOrDefault();
         if (obj != null)
             listNewOrderItem.Add(obj);
     }
     listNewOrderShipping.Clear();//清空缓存区承运商列表
     oNewShipper = new ShippingInformation();
     //-----------------------------------------------------------------edit by 2011/10/24 手工订单编辑可以选择该组织所有支持的承运商
     //foreach (OrderShipping ship in oNewOrder.OrderShippings)
     //{
     //    OrderShipping obj = dbEntity.OrderShippings.Include("Shipper").Where(o => o.Gid == ship.Gid && o.Deleted == false).FirstOrDefault();
     //    if (obj != null)
     //    {
     //        if (obj.Candidate)//将原MODEL中选中的承运商赋给oNewShipper
     //            oNewShipper = obj.Shipper;
     //        listNewOrderShipping.Add(obj);
     //    }
     //}
     List<ShippingInformation> listOrgShippers = dbEntity.ShippingInformations.Where(s => s.Deleted == false && s.aParent == oNewOrder.OrgID).ToList();//组织支持的承运商
     foreach (ShippingInformation ship in listOrgShippers)
     {
         OrderShipping oShip = new OrderShipping {  OrderID = oNewOrder.Gid,ShipID = ship.Gid};
         listNewOrderShipping.Add(oShip);
     }
     foreach (OrderShipping ship in oNewOrder.OrderShippings)
     {
         OrderShipping obj = dbEntity.OrderShippings.Include("Shipper").Where(o => o.Gid == ship.Gid && o.Deleted == false).FirstOrDefault();
         if (obj != null)
         {
             if (obj.Candidate)//将原MODEL中选中的承运商赋给oNewShipper
                 oNewShipper = obj.Shipper;
         }
     }
     //---------------------------------------------------------------------------------------------------------------------------------
     return "success";
 }
Beispiel #5
0
        /// <summary>
        /// 编辑订单时列出支持的承运商
        /// </summary>
        /// <returns></returns>
        public void EditShippingListShow()
        {
            OrderBLL oOrderBLL = new OrderBLL(this.dbEntity);//新建oOrderBLL对象
            oNewShipper = dbEntity.ShippingInformations.Find(oNewShipper.Gid);
            List<ShippingInformation> oShippingList = new List<ShippingInformation>();
            List<SelectListItem> shippinglist = new List<SelectListItem>();
            if (oNewOrder.WhID != null && oNewOrder.aLocation != null && listNewOrderItem.Count >= 1)
            {
                //-----------edit by 2011/10/24 需求:手动编辑订单是可以选择所有组织支持的承运商
                //获取支持的承运商列表
                //oShippingList = oOrderBLL.GetSupportShippings(listNewOrderItem, (Guid)oNewOrder.WhID, (Guid)oNewOrder.aLocation);
                //获取组织支持的所有承运商
                oShippingList = dbEntity.ShippingInformations.Where(s => s.aParent == oNewOrder.OrgID && s.Deleted == false).ToList();
                //------------------------------------------------------------------------------

                listNewOrderShipping.Clear();//每次都清除之前的承运商列表,以保证该列表永远是最新的-----BUG修改09.25
                if (oShippingList.Count >= 1)//如果查出承运商
                {
                    for (int i = 0; i < oShippingList.Count; i++)
                    {
                        OrderShipping oNewOrderShipping = new OrderShipping
                        {
                            ShipID = oShippingList.ElementAt(i).Gid,
                            Order = oNewOrder
                        };
                        listNewOrderShipping.Add(oNewOrderShipping);
                    }
                    if (oNewShipper == null)//如果之前没有承运商的
                    {
                        oNewShipper = oShippingList.ElementAt(0);
                    }
                    foreach (var reg in oOrderBLL.GetFullRegions((Guid)oNewOrder.aLocation))
                    {
                        if (oNewShipper.Areas != null)//地区不为空
                        {
                            foreach (var area in oNewShipper.Areas)
                            {
                                if (area.RegionID == reg.Gid)
                                {
                                    oNewOrder.ResidenceFee = area.Residential == null ? 0 : area.Residential.GetResource((Guid)oNewOrder.aCurrency);//收取的到门费
                                    oNewOrder.LiftGateFee = area.LiftGate == null ? 0 : area.LiftGate.GetResource((Guid)oNewOrder.aCurrency);//收取的上楼费
                                    oNewOrder.InstallFee = area.Installation == null ? 0 : area.Installation.GetResource((Guid)oNewOrder.aCurrency);//收取的安装费
                                }
                            }
                        }
                    }
                }
                else//未找到符合的承运商
                {
                    oNewShipper = new ShippingInformation();
                }
            }
            else//错误:仓库ID 地区ID 不能为空 且 订单商品列表不为空
            {

            }
        }
Beispiel #6
0
 /// <summary>
 /// 前台页面改变所选的承运商
 /// </summary>
 /// <param name="shipperID">传回的承运商ID</param>
 public void ChangeShipper(Guid shipperID)
 {
     oNewShipper = dbEntity.ShippingInformations.Find(shipperID);
 }
        /// <summary>
        /// 承运商首页
        /// </summary>
        /// <returns></returns>
        public ActionResult ShippingIndex(Guid? ParentOrgID = null)
        {
            // 权限验证
            if (!base.CheckPrivilege())
                RedirectToAction("ErrorPage", "Home", new { message = "Sorry you have no privilege to visit the Page" });

            retype = 1;
            Guid? userID = CurrentSession.UserID;
            if (userID != null)
            {
                //获取用户所属组织
                var sessionOrgId = dbEntity.MemberUsers.Where(p => p.Deleted == false && p.Gid == userID).Select(p => p.OrgID).Single();
                gOrgId = sessionOrgId;
            }
            //新建页面model
            ShippingInformation oViewModel = new ShippingInformation();
            //组织下拉框
            ViewBag.organization = GetSupportOrganizations();
            if (ParentOrgID != null)//有选中的组织
            {
                //ViewBag.IsFromOrg = true;
                oViewModel.aParent = ParentOrgID.Value;
                //组织下拉框为ParentOrgID的组织
                //MemberOrganization oParentOrg = dbEntity.MemberOrganizations.Where(o=>o.Gid == ParentOrgID && o.Deleted == false).FirstOrDefault();
                //ViewData["orgCode"] = new List<SelectListItem> { new SelectListItem { Text = oParentOrg.FullName.GetResource(CurrentSession.Culture), Value = oParentOrg.Gid.ToString() } };
                gOrgId = ParentOrgID.Value;//设置全局gOrgId
                SetCurrentPath();//当前程序路径
            }
            return View(oViewModel);
        }
 /// <summary>
 /// 保存组织
 /// </summary>
 /// <param name="oOrganization"></param>
 public void SaveEditOrgDetail(OrganizationBase oBackModel)
 {
     if (oBackModel.Gid != Guid.Empty)//编辑保存
     {
         OrganizationBase oOldOrganization = new OrganizationBase { FullName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent), ShortName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent) };
         switch (oBackModel.Otype)
         {
             case 0: oOldOrganization = dbEntity.MemberOrganizations.Include("FullName").Include("ShortName").Where(o => o.Gid == oBackModel.Gid).FirstOrDefault(); break;
             case 1: oOldOrganization = dbEntity.MemberChannels.Include("FullName").Include("ShortName").Where(c => c.Gid == oBackModel.Gid).FirstOrDefault(); break;
             case 2: oOldOrganization = dbEntity.WarehouseInformations.Include("FullName").Include("ShortName").Where(c => c.Gid == oBackModel.Gid).FirstOrDefault(); break;
             case 3: oOldOrganization = dbEntity.PurchaseSuppliers.Include("FullName").Include("ShortName").Where(c => c.Gid == oBackModel.Gid).FirstOrDefault(); break;
             case 4: oOldOrganization = dbEntity.ShippingInformations.Include("FullName").Include("ShortName").Where(c => c.Gid == oBackModel.Gid).FirstOrDefault(); break;
         }
         oOldOrganization.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
         oOldOrganization.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
         oOldOrganization.Code = oBackModel.Code;
         oOldOrganization.ExCode = oBackModel.ExCode;
         oOldOrganization.Ostatus = oBackModel.Ostatus;
         oOldOrganization.Otype = oBackModel.Otype;
         oOldOrganization.ExType = oBackModel.ExType;
         oOldOrganization.Terminal = oBackModel.Terminal;
         oOldOrganization.aLocation = oBackModel.aLocation;
         oOldOrganization.FullAddress = oBackModel.FullAddress;
         oOldOrganization.PostCode = oBackModel.PostCode;
         oOldOrganization.Contact = oBackModel.Contact;
         oOldOrganization.CellPhone = oBackModel.CellPhone;
         oOldOrganization.WorkPhone = oBackModel.WorkPhone;
         oOldOrganization.WorkFax = oBackModel.WorkFax;
         oOldOrganization.Email = oBackModel.Email;
         oOldOrganization.HomeUrl = oBackModel.HomeUrl;
         oOldOrganization.Sorting = oBackModel.Sorting;
         oOldOrganization.Brief = oBackModel.Brief;
         oOldOrganization.Remark = oBackModel.Remark;
     }
     else//添加保存
     {
         switch (oBackModel.Otype)
         {
             case 0: break;
             case 1: MemberChannel oNewMemberChannel = dbEntity.MemberChannels.Include("FullName").Include("ShortName").Where(o => o.Code == oBackModel.Code).FirstOrDefault();
                 if (oNewMemberChannel != null)//原来存在,则是编辑
                 {
                     oNewMemberChannel.Deleted = false;
                     oNewMemberChannel.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewMemberChannel.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     //oNewMemberChannel.Code = oBackModel.Code;
                     oNewMemberChannel.ExCode = oBackModel.ExCode;
                     oNewMemberChannel.Ostatus = oBackModel.Ostatus;
                     //oNewMemberChannel.Otype = oBackModel.Otype;
                     oNewMemberChannel.ExType = oBackModel.ExType;
                     oNewMemberChannel.Terminal = oBackModel.Terminal;
                     oNewMemberChannel.aLocation = oBackModel.aLocation;
                     oNewMemberChannel.FullAddress = oBackModel.FullAddress;
                     oNewMemberChannel.PostCode = oBackModel.PostCode;
                     oNewMemberChannel.Contact = oBackModel.Contact;
                     oNewMemberChannel.CellPhone = oBackModel.CellPhone;
                     oNewMemberChannel.WorkPhone = oBackModel.WorkPhone;
                     oNewMemberChannel.WorkFax = oBackModel.WorkFax;
                     oNewMemberChannel.Email = oBackModel.Email;
                     oNewMemberChannel.HomeUrl = oBackModel.HomeUrl;
                     oNewMemberChannel.Sorting = oBackModel.Sorting;
                     oNewMemberChannel.Brief = oBackModel.Brief;
                     oNewMemberChannel.Remark = oBackModel.Remark;
                 }
                 else
                 {
                     oNewMemberChannel = new MemberChannel { FullName = NewResource(ModelEnum.ResourceType.STRING), ShortName = NewResource(ModelEnum.ResourceType.STRING) };
                     oNewMemberChannel.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewMemberChannel.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     oNewMemberChannel.Code = oBackModel.Code;
                     oNewMemberChannel.ExCode = oBackModel.ExCode;
                     oNewMemberChannel.Ostatus = oBackModel.Ostatus;
                     oNewMemberChannel.Otype = oBackModel.Otype;
                     oNewMemberChannel.ExType = oBackModel.ExType;
                     oNewMemberChannel.Terminal = oBackModel.Terminal;
                     oNewMemberChannel.aLocation = oBackModel.aLocation;
                     oNewMemberChannel.FullAddress = oBackModel.FullAddress;
                     oNewMemberChannel.PostCode = oBackModel.PostCode;
                     oNewMemberChannel.Contact = oBackModel.Contact;
                     oNewMemberChannel.CellPhone = oBackModel.CellPhone;
                     oNewMemberChannel.WorkPhone = oBackModel.WorkPhone;
                     oNewMemberChannel.WorkFax = oBackModel.WorkFax;
                     oNewMemberChannel.Email = oBackModel.Email;
                     oNewMemberChannel.HomeUrl = oBackModel.HomeUrl;
                     oNewMemberChannel.Sorting = oBackModel.Sorting;
                     oNewMemberChannel.Brief = oBackModel.Brief;
                     oNewMemberChannel.Remark = oBackModel.Remark;
                     dbEntity.MemberChannels.Add(oNewMemberChannel);
                 }
                 break;
             case 2: WarehouseInformation oNewWarehouse = dbEntity.WarehouseInformations.Include("FullName").Include("ShortName").Where(w => w.Code == oBackModel.Code).FirstOrDefault();
                 if (oNewWarehouse != null)
                 {
                     oNewWarehouse.Deleted = false;
                     oNewWarehouse.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewWarehouse.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     //oNewWarehouse.aParent = oBackModel.aParent;
                     //oNewWarehouse.Code = oBackModel.Code;
                     oNewWarehouse.ExCode = oBackModel.ExCode;
                     oNewWarehouse.Ostatus = oBackModel.Ostatus;
                     //oNewWarehouse.Otype = oBackModel.Otype;
                     oNewWarehouse.ExType = oBackModel.ExType;
                     oNewWarehouse.Terminal = oBackModel.Terminal;
                     oNewWarehouse.aLocation = oBackModel.aLocation;
                     oNewWarehouse.FullAddress = oBackModel.FullAddress;
                     oNewWarehouse.PostCode = oBackModel.PostCode;
                     oNewWarehouse.Contact = oBackModel.Contact;
                     oNewWarehouse.CellPhone = oBackModel.CellPhone;
                     oNewWarehouse.WorkPhone = oBackModel.WorkPhone;
                     oNewWarehouse.WorkFax = oBackModel.WorkFax;
                     oNewWarehouse.Email = oBackModel.Email;
                     oNewWarehouse.HomeUrl = oBackModel.HomeUrl;
                     oNewWarehouse.Sorting = oBackModel.Sorting;
                     oNewWarehouse.Brief = oBackModel.Brief;
                     oNewWarehouse.Remark = oBackModel.Remark;
                 }
                 else
                 {
                     oNewWarehouse = new WarehouseInformation { FullName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent), ShortName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent) };
                     oNewWarehouse.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewWarehouse.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     oNewWarehouse.aParent = oBackModel.aParent;
                     oNewWarehouse.Code = oBackModel.Code;
                     oNewWarehouse.ExCode = oBackModel.ExCode;
                     oNewWarehouse.Ostatus = oBackModel.Ostatus;
                     oNewWarehouse.Otype = oBackModel.Otype;
                     oNewWarehouse.ExType = oBackModel.ExType;
                     oNewWarehouse.Terminal = oBackModel.Terminal;
                     oNewWarehouse.aLocation = oBackModel.aLocation;
                     oNewWarehouse.FullAddress = oBackModel.FullAddress;
                     oNewWarehouse.PostCode = oBackModel.PostCode;
                     oNewWarehouse.Contact = oBackModel.Contact;
                     oNewWarehouse.CellPhone = oBackModel.CellPhone;
                     oNewWarehouse.WorkPhone = oBackModel.WorkPhone;
                     oNewWarehouse.WorkFax = oBackModel.WorkFax;
                     oNewWarehouse.Email = oBackModel.Email;
                     oNewWarehouse.HomeUrl = oBackModel.HomeUrl;
                     oNewWarehouse.Sorting = oBackModel.Sorting;
                     oNewWarehouse.Brief = oBackModel.Brief;
                     oNewWarehouse.Remark = oBackModel.Remark;
                     dbEntity.WarehouseInformations.Add(oNewWarehouse);
                 }
                 break;
             case 3: PurchaseSupplier oNewPurchaseSupplier = dbEntity.PurchaseSuppliers.Include("FullName").Include("ShortName").Where(s => s.Code == oBackModel.Code).FirstOrDefault();
                 if (oNewPurchaseSupplier != null)
                 {
                     oNewPurchaseSupplier.Deleted = false;
                     oNewPurchaseSupplier.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewPurchaseSupplier.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     //oNewPurchaseSupplier.aParent = oBackModel.aParent;
                     //oNewPurchaseSupplier.Code = oBackModel.Code;
                     oNewPurchaseSupplier.ExCode = oBackModel.ExCode;
                     oNewPurchaseSupplier.Ostatus = oBackModel.Ostatus;
                     //oNewPurchaseSupplier.Otype = oBackModel.Otype;
                     oNewPurchaseSupplier.ExType = oBackModel.ExType;
                     oNewPurchaseSupplier.Terminal = oBackModel.Terminal;
                     oNewPurchaseSupplier.aLocation = oBackModel.aLocation;
                     oNewPurchaseSupplier.FullAddress = oBackModel.FullAddress;
                     oNewPurchaseSupplier.PostCode = oBackModel.PostCode;
                     oNewPurchaseSupplier.Contact = oBackModel.Contact;
                     oNewPurchaseSupplier.CellPhone = oBackModel.CellPhone;
                     oNewPurchaseSupplier.WorkPhone = oBackModel.WorkPhone;
                     oNewPurchaseSupplier.WorkFax = oBackModel.WorkFax;
                     oNewPurchaseSupplier.Email = oBackModel.Email;
                     oNewPurchaseSupplier.HomeUrl = oBackModel.HomeUrl;
                     oNewPurchaseSupplier.Sorting = oBackModel.Sorting;
                     oNewPurchaseSupplier.Brief = oBackModel.Brief;
                     oNewPurchaseSupplier.Remark = oBackModel.Remark;
                 }
                 else
                 {
                     oNewPurchaseSupplier = new PurchaseSupplier { FullName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent), ShortName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent) };
                     oNewPurchaseSupplier.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewPurchaseSupplier.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     oNewPurchaseSupplier.aParent = oBackModel.aParent;
                     oNewPurchaseSupplier.Code = oBackModel.Code;
                     oNewPurchaseSupplier.ExCode = oBackModel.ExCode;
                     oNewPurchaseSupplier.Ostatus = oBackModel.Ostatus;
                     oNewPurchaseSupplier.Otype = oBackModel.Otype;
                     oNewPurchaseSupplier.ExType = oBackModel.ExType;
                     oNewPurchaseSupplier.Terminal = oBackModel.Terminal;
                     oNewPurchaseSupplier.aLocation = oBackModel.aLocation;
                     oNewPurchaseSupplier.FullAddress = oBackModel.FullAddress;
                     oNewPurchaseSupplier.PostCode = oBackModel.PostCode;
                     oNewPurchaseSupplier.Contact = oBackModel.Contact;
                     oNewPurchaseSupplier.CellPhone = oBackModel.CellPhone;
                     oNewPurchaseSupplier.WorkPhone = oBackModel.WorkPhone;
                     oNewPurchaseSupplier.WorkFax = oBackModel.WorkFax;
                     oNewPurchaseSupplier.Email = oBackModel.Email;
                     oNewPurchaseSupplier.HomeUrl = oBackModel.HomeUrl;
                     oNewPurchaseSupplier.Sorting = oBackModel.Sorting;
                     oNewPurchaseSupplier.Brief = oBackModel.Brief;
                     oNewPurchaseSupplier.Remark = oBackModel.Remark;
                     dbEntity.PurchaseSuppliers.Add(oNewPurchaseSupplier);
                 }
                 break;
             case 4: ShippingInformation oNewShippingInformations = dbEntity.ShippingInformations.Include("FullName").Include("ShortName").Where(s => s.Code == oBackModel.Code).FirstOrDefault();
                 if (oNewShippingInformations != null)
                 {
                     oNewShippingInformations.Deleted = false;
                     oNewShippingInformations.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewShippingInformations.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     //oNewShippingInformations.aParent = oBackModel.aParent;
                     //oNewShippingInformations.Code = oBackModel.Code;
                     oNewShippingInformations.ExCode = oBackModel.ExCode;
                     oNewShippingInformations.Ostatus = oBackModel.Ostatus;
                     //oNewShippingInformations.Otype = oBackModel.Otype;
                     oNewShippingInformations.ExType = oBackModel.ExType;
                     oNewShippingInformations.Terminal = oBackModel.Terminal;
                     oNewShippingInformations.aLocation = oBackModel.aLocation;
                     oNewShippingInformations.FullAddress = oBackModel.FullAddress;
                     oNewShippingInformations.PostCode = oBackModel.PostCode;
                     oNewShippingInformations.Contact = oBackModel.Contact;
                     oNewShippingInformations.CellPhone = oBackModel.CellPhone;
                     oNewShippingInformations.WorkPhone = oBackModel.WorkPhone;
                     oNewShippingInformations.WorkFax = oBackModel.WorkFax;
                     oNewShippingInformations.Email = oBackModel.Email;
                     oNewShippingInformations.HomeUrl = oBackModel.HomeUrl;
                     oNewShippingInformations.Sorting = oBackModel.Sorting;
                     oNewShippingInformations.Brief = oBackModel.Brief;
                     oNewShippingInformations.Remark = oBackModel.Remark;
                 }
                 else
                 {
                     oNewShippingInformations = new ShippingInformation { FullName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent), ShortName = NewResource(ModelEnum.ResourceType.STRING, oBackModel.aParent) };
                     oNewShippingInformations.FullName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.FullName);
                     oNewShippingInformations.ShortName.SetResource(ModelEnum.ResourceType.STRING, oBackModel.ShortName);
                     oNewShippingInformations.aParent = oBackModel.aParent;
                     oNewShippingInformations.Code = oBackModel.Code;
                     oNewShippingInformations.ExCode = oBackModel.ExCode;
                     oNewShippingInformations.Ostatus = oBackModel.Ostatus;
                     oNewShippingInformations.Otype = oBackModel.Otype;
                     oNewShippingInformations.ExType = oBackModel.ExType;
                     oNewShippingInformations.Terminal = oBackModel.Terminal;
                     oNewShippingInformations.aLocation = oBackModel.aLocation;
                     oNewShippingInformations.FullAddress = oBackModel.FullAddress;
                     oNewShippingInformations.PostCode = oBackModel.PostCode;
                     oNewShippingInformations.Contact = oBackModel.Contact;
                     oNewShippingInformations.CellPhone = oBackModel.CellPhone;
                     oNewShippingInformations.WorkPhone = oBackModel.WorkPhone;
                     oNewShippingInformations.WorkFax = oBackModel.WorkFax;
                     oNewShippingInformations.Email = oBackModel.Email;
                     oNewShippingInformations.HomeUrl = oBackModel.HomeUrl;
                     oNewShippingInformations.Sorting = oBackModel.Sorting;
                     oNewShippingInformations.Brief = oBackModel.Brief;
                     oNewShippingInformations.Remark = oBackModel.Remark;
                     dbEntity.ShippingInformations.Add(oNewShippingInformations);
                 }
                 break;
         }
     }
     dbEntity.SaveChanges();
 }