private void billFilter_EditorCreated(object sender, Telerik.Windows.Controls.Data.DataFilter.EditorCreatedEventArgs e)
        {
            RadComboBox cbx = e.Editor as RadComboBox;

            if (cbx != null)
            {
                switch (e.ItemPropertyDefinition.PropertyName)
                {
                case "StorageID":
                    cbx.ItemsSource = StorageInfoVM.Storages;
                    break;

                case "BrandID":
                    cbx.ItemsSource = VMGlobal.PoweredBrands;
                    break;
                }
            }
            else
            {
                OrganizationSelector os = e.Editor as OrganizationSelector;
                if (os != null)
                {
                    switch (e.ItemPropertyDefinition.PropertyName)
                    {
                    case "OrganizationID":
                    case "ToOrganizationID":
                        os.ItemsSource = OrganizationLogic.GetSiblingOrganizations(VMGlobal.CurrentUser.OrganizationID);
                        break;
                    }
                }
            }
            SysProcessView.UIHelper.ToggleShowEqualFilterOperatorOnly(e.Editor);
        }
示例#2
0
        /// <summary>
        /// 入库单明细
        /// </summary>
        //public static IList GetBillStoringDetails(int billID)
        //{
        //    var detailsContext = _query.LinqOP.Search<BillStoringDetails>(o => o.BillID == billID);
        //    var productContext = _query.LinqOP.GetDataContext<ViewProduct>();
        //    var data = from details in detailsContext
        //               from product in productContext
        //               where details.ProductID == product.ProductID
        //               select new ProductForBill
        //               {
        //                   ProductCode = product.ProductCode,
        //                   BrandCode = product.BrandCode,
        //                   StyleCode = product.StyleCode,
        //                   ColorCode = product.ColorCode,
        //                   SizeName = product.SizeName,
        //                   Price = product.Price,
        //                   Quantity = details.Quantity
        //               };
        //    return data.ToList();
        //}

        /// <summary>
        /// 入库汇总
        /// </summary>
        //public static DataTable AggregateStoring(CompositeFilterDescriptorCollection filters)
        //{
        //    var lp = _query.LinqOP;
        //    var storingContext = lp.GetDataContext<BillStoring>().Where(o => o.OrganizationID == VMGlobal.CurrentUser.OrganizationID);
        //    var storingDetailsContext = lp.GetDataContext<BillStoringDetails>();
        //    var productContext = lp.GetDataContext<ViewProduct>();
        //    //var storageContext = lp.GetDataContext<Storage>();

        //    var brandIDs = VMGlobal.PoweredBrands.Select(o => o.ID);
        //    FilterBillWithBrand(storingContext, filters, brandIDs);
        //    var data = from storing in storingContext
        //               from storingDetails in storingDetailsContext
        //               where storing.ID == storingDetails.BillID
        //               from product in productContext
        //               where product.ProductID == storingDetails.ProductID //&& brandIDs.Contains(product.BrandID)
        //               //from storage in storageContext
        //               //where storing.StorageID == storage.ID
        //               select new StoreOIEntityForAggregation
        //               {
        //                   ProductID = product.ProductID,
        //                   BrandID = product.BrandID,
        //                   StorageID = storing.StorageID,
        //                   CreateTime = storing.CreateTime.Date,
        //                   BillType = storing.BillType,
        //                   //ProductCode = product.ProductCode,
        //                   //BrandCode = product.BrandCode,
        //                   StyleCode = product.StyleCode,
        //                   //ColorCode = product.ColorCode,
        //                   //SizeName = product.SizeName,
        //                   //Price = product.Price,
        //                   NameID = product.NameID,
        //                   Quantity = storingDetails.Quantity
        //               };
        //    data = (IQueryable<StoreOIEntityForAggregation>)data.Where(filters);
        //    return new BillReportHelper().TransferSizeToHorizontal<DistributionProductForBrush>(AggregateBill(data));
        //}

        #endregion

        public static IEnumerable <DistributionEntity> GetOtherShopStock(CompositeFilterDescriptorCollection filters)
        {
            var lp             = _query.LinqOP;
            var shops          = OrganizationLogic.GetSiblingShops(VMGlobal.CurrentUser.OrganizationID);
            var oids           = shops.Where(o => o.ID != VMGlobal.CurrentUser.OrganizationID).Select(o => o.ID);
            var stockContext   = lp.GetDataContext <Stock>();
            var storageContext = lp.Search <Storage>(o => oids.Contains(o.OrganizationID) && o.Flag);
            var brandIDs       = VMGlobal.PoweredBrands.Select(o => o.ID);
            var productContext = lp.Search <ViewProduct>(o => brandIDs.Contains(o.BrandID));

            var data = from stock in stockContext
                       from storage in storageContext
                       where stock.StorageID == storage.ID && stock.Quantity != 0
                       from product in productContext
                       where stock.ProductID == product.ProductID
                       select new BillEntityForAggregation
            {
                OrganizationID = storage.OrganizationID,
                StyleCode      = product.StyleCode,
                BrandID        = product.BrandID,
                ProductID      = product.ProductID,
                Quantity       = stock.Quantity
            };
            var filtedData = (IQueryable <BillEntityForAggregation>)data.Where(filters);//即使filters中有data没有的过滤属性,也不会出错,但是会产生0<>0的恒为假条件
            var sum        = filtedData.GroupBy(o => new { o.ProductID, o.OrganizationID }).Select(g => new
            {
                Key      = g.Key,
                Quantity = g.Sum(o => o.Quantity)
            }).ToList();
            var pids     = sum.Select(o => o.Key.ProductID).ToArray();
            var products = lp.Search <ViewProduct>(o => pids.Contains(o.ProductID)).ToList();
            var result   = sum.Select(o =>
            {
                var product = products.First(p => p.ProductID == o.Key.ProductID);
                return(new DistributionEntity
                {
                    ProductID = product.ProductID,
                    ProductCode = product.ProductCode,
                    StyleCode = product.StyleCode,
                    BYQID = product.BYQID,
                    ColorID = product.ColorID,
                    SizeID = product.SizeID,
                    Quantity = o.Quantity,
                    OrganizationID = o.Key.OrganizationID,
                    OrganizationName = shops.Find(c => c.ID == o.Key.OrganizationID).Name
                });
            }).ToList();

            foreach (var r in result)
            {
                r.ColorCode = VMGlobal.Colors.Find(o => o.ID == r.ColorID).Code;
                r.SizeName  = VMGlobal.Sizes.Find(o => o.ID == r.SizeID).Name;
                var byq = VMGlobal.BYQs.Find(o => o.ID == r.BYQID);
                r.BrandID   = byq.BrandID;
                r.BrandCode = VMGlobal.PoweredBrands.Find(o => o.ID == r.BrandID).Code;
            }
            return(result);
            //return new BillReportHelper().TransferSizeToHorizontal<DistributionEntity>(result);
        }
示例#3
0
        //获取所有机构信息
        public ActionResult GetAllOrganizations(string organizationName, int pageIndex, int pageSize)
        {
            OrganizationLogic logic = new OrganizationLogic();
            int rowCount;
            var data = logic.GetAllOrganizations(organizationName, pageIndex, pageSize, out rowCount);

            return(Json(new { Result = data, RowCount = rowCount }));
        }
示例#4
0
        void cbxBrand_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            lbxLeft.Items.Clear();
            lbxRight.Items.Clear();
            var cb = sender as RadComboBox;

            if (cb.SelectedIndex != -1)//奇怪之处:就算cb.SelectedIndex == -1,cb.SelectedValue还是等于原选项的值
            {
                _organizations = OrganizationLogic.GetChildOrganizations(VMGlobal.CurrentUser.OrganizationID, (int)cb.SelectedValue, false);
                _organizations.ForEach(o => lbxLeft.Items.Add(o));
            }
        }
示例#5
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            if (!View.Extension.UIHelper.IsValid(this))
            {
                return;
            }
            if (lbxRight.Items.Count == 0)
            {
                MessageBox.Show("未选择机构");
                return;
            }
            BatchPriceFloat bcd = (BatchPriceFloat)this.DataContext;
            var             byq = ProductLogic.GetBYQ(bcd.BrandID, bcd.Year, bcd.Quarter);

            if (byq == null)
            {
                MessageBox.Show("未找到相应的品牌年份季度信息");
                return;
            }
            bcd.OrganizationIDs = new List <int>();
            foreach (var item in lbxRight.Items)
            {
                bcd.OrganizationIDs.Add(((SysOrganization)item).ID);
            }
            List <OrganizationPriceFloat> ocds = new List <OrganizationPriceFloat>();

            bcd.OrganizationIDs.ForEach(oid => ocds.Add(new OrganizationPriceFloat
            {
                BYQID          = byq.ID,
                FloatRate      = bcd.FloatRate,
                LastNumber     = bcd.LastNumber,
                OrganizationID = oid,
                CreatorID      = VMGlobal.CurrentUser.ID,
                CreateTime     = DateTime.Now
            }));
            try
            {
                OrganizationLogic.BatchSavePriceFloat(ocds);
                MessageBox.Show("设置成功");
                if (SetCompleted != null)
                {
                    SetCompleted();
                }
                InitContext();
            }
            catch (Exception ex)
            {
                MessageBox.Show("设置失败\n失败原因:" + ex.Message);
            }
        }
示例#6
0
        //保存机构信息
        public ActionResult SaveOrganization(Organization org)
        {
            if (org.OrganizationId == null || org.OrganizationId.ToString().Length == 0)
            {
                org.OrganizationId = Guid.Empty;
            }
            if (org.ParentId == org.OrganizationId)
            {
                return(Json(new { Result = false, ErrorMessage = String.Format("[{0}] 不可将 [{0}] 指定为所属机构", org.OrganizationName) }));
            }
            OrganizationLogic logic = new OrganizationLogic();
            var result = logic.SaveOrganization(org);

            return(Json(result));
        }
        public OrganizationServiceTestBase()
        {
            Logger = new Mock <ILogger <DataAccess.Services.OrganizationService> >().Object;
            var mapServiceProvider = new MapServiceProvider(
                (new Mock <IHostingEnvironment>()).Object,
                new ApplicationConfiguration((new Mock <IConfigurationRoot>()).Object),
                (new Mock <IOptions <ProxyServerSettings> >()).Object,
                new Mock <ILogger <MapServiceProvider> >().Object);

            OrganizationLogic        = new OrganizationLogic(new ChannelAttachmentLogic(), new WebPageLogic(), AddressLogic);
            OrganizationRepoMock     = new Mock <IOrganizationVersionedRepository>();
            OrganizationNameRepoMock = new Mock <IOrganizationNameRepository>();
            unitOfWorkMockSetup.Setup(uw => uw.CreateRepository <IOrganizationVersionedRepository>()).Returns(OrganizationRepoMock.Object);
            unitOfWorkMockSetup.Setup(uw => uw.CreateRepository <IRepository <OrganizationVersioned> >()).Returns(OrganizationRepoMock.Object);
            unitOfWorkMockSetup.Setup(uw => uw.CreateRepository <IOrganizationNameRepository>()).Returns(OrganizationNameRepoMock.Object);
        }
        /// <summary>
        /// 调拨单查询(机构收货入库使用)
        /// </summary>
        public static List <CannibalizeSearchEntity> SearchBillCannibalizeForStoring()
        {
            var lp = VMGlobal.DistributionQuery.LinqOP;
            var cannibalizeContext = lp.GetDataContext <BillCannibalize>();
            var detailContext      = lp.GetDataContext <BillCannibalizeDetails>();
            var brandIDs           = VMGlobal.PoweredBrands.Select(o => o.ID);
            var dataQuery          = from d in cannibalizeContext
                                     where d.ToOrganizationID == VMGlobal.CurrentUser.OrganizationID && !d.Status && brandIDs.Contains(d.BrandID)
                                     select new CannibalizeSearchEntity
            {
                ID             = d.ID,
                OrganizationID = d.OrganizationID,
                Remark         = d.Remark,
                Code           = d.Code,
                CreateTime     = d.CreateTime,
                BrandID        = d.BrandID
            };
            var cannibalizes = dataQuery.ToList();
            var bIDs         = cannibalizes.Select(o => (int)o.ID);
            var detailQuery  = from detail in detailContext
                               where bIDs.Contains(detail.BillID)
                               select new
            {
                detail.BillID,
                detail.ProductID,
                detail.Quantity
            };
            var details = detailQuery.ToList();
            //var sum = cannibalizeDetailContext.Where(o => bIDs.Contains(o.BillID)).GroupBy(o => o.BillID).Select(g => new { BillID = g.Key, Quantity = g.Sum(o => o.Quantity) }).ToList();
            var sum = details.GroupBy(o => o.BillID).Select(g => new { BillID = g.Key, Quantity = g.Sum(o => o.Quantity) }).ToList();
            FloatPriceHelper fpHelper = new FloatPriceHelper();
            var siblings = OrganizationLogic.GetSiblingOrganizations(VMGlobal.CurrentUser.OrganizationID);

            cannibalizes.ForEach(d =>
            {
                d.OrganizationName = siblings.Find(o => o.ID == d.OrganizationID).Name;
                d.BrandName        = VMGlobal.PoweredBrands.Find(o => o.ID == d.BrandID).Name;
                d.Quantity         = sum.Find(o => o.BillID == d.ID).Quantity;
                var tempDetails    = details.FindAll(o => o.BillID == d.ID);
                foreach (var detail in tempDetails)
                {
                    var price     = fpHelper.GetFloatPrice(VMGlobal.CurrentUser.OrganizationID, detail.ProductID);
                    d.TotalPrice += price * detail.Quantity;
                }
            });
            return(cannibalizes);
        }
        public string Get()
        {
            try
            {
                string dbConn = _configuration.GetSection("ConnectionStrings").GetSection("StorageConnection").Value;

                var entitiesList = new OrganizationLogic().GetOrganizationData(dbConn);

                var json = new OrganizationLogic().GetOrganizationDataAsJson(entitiesList);

                return(json);
            }
            catch (Exception e)
            {
                return($"Something went wrong: {e.Message}");
            }
        }
示例#10
0
        /// <summary>
        /// 根据传入的字符串标示获取地区、省份或机构类型
        /// </summary>
        /// <param name="apt">AreaID、ProvienceID或OrganizationTypeID</param>
        public static void SetAPTForFilter(string apt, RadComboBox cbx)
        {
            switch (apt)
            {
            case "AreaID":
                cbx.ItemsSource = OrganizationLogic.GetAreas();
                break;

            case "ProvienceID":
                cbx.ItemsSource = OrganizationLogic.GetProvinces();
                break;

            case "OrganizationTypeID":
                cbx.ItemsSource = OrganizationLogic.GetOrganizationTypes(VMGlobal.CurrentUser.OrganizationID);
                break;
            }
        }
        /// <summary>
        /// 获取折扣
        /// </summary>
        public decimal GetDiscount(int byqID, int organizationID)
        {
            var dc = _discountCache.Find(o => o.OrganizationID == organizationID && o.BYQID == byqID);

            if (dc == null)
            {
                dc = OrganizationLogic.GetOrganizationContractDiscount(byqID, organizationID);
                if (dc == null)//未设置折扣
                {
                    dc = new OrganizationContractDiscount {
                        OrganizationID = organizationID, BYQID = byqID, Discount = 100
                    }
                }
                ;
                _discountCache.Add(dc);
            }
            return(dc.Discount);
        }
    }
示例#12
0
        public void ParentSubsidiaryCountValidation()
        {
            // Arrange
            List <BusinessEntity> entitiesList;
            var storageConn = "DefaultEndpointsProtocol=https;AccountName=entitymanagement;AccountKey=XWXrZvjbYItcbQVBhxeT1oHiLn37C3Dx8x983MBljRJ3iUL2yCeL1jXgZn+ps166O5e7KwSGE6jvkHUoeJz4Rw==;EndpointSuffix=core.windows.net";

            var parentCount       = 0;
            var subsidiariesCount = 0;

            // Act
            entitiesList = new OrganizationLogic().GetOrganizationData(storageConn);

            // Assert
            foreach (var entity in entitiesList)
            {
                parentCount       += entity.Parents.Count;
                subsidiariesCount += entity.Subsidiaries.Count;
            }

            Assert.AreEqual(parentCount, subsidiariesCount);
        }
示例#13
0
文件: Program.cs 项目: nicho1991/DAB
        private static void Main(string[] args)
        {
            using (var db = new BloggingContext())
            {
                BlogLogic newBlog = new BlogLogic();
                //newBlog.createAndSaveBlock();
                //displaying all the blogs
                //newBlog.DisplayBlogs();

                OrganizationLogic newOrg = new OrganizationLogic();
                //newOrg.NewUserForOrg();
                //newOrg.PrintOrganizations();
                //newOrg.PrintOrganizaionsAndTheirUsers();
                //newOrg.MakeOrganization();

                CountryLogic newCountryLogic = new CountryLogic();
                //newCountryLogic.PrintCountriesAndOrgs();

                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            }
        }
示例#14
0
        //public SysArea SelectedArea
        //{
        //    get { return _selectedArea; }
        //    set
        //    {
        //        if (this._selectedArea != value)
        //        {
        //            this._selectedArea = value;
        //            this.OnPropertyChanged("SelectedArea");
        //            this.FilteredProvinces.View.Refresh();
        //            this.FilteredCities.View.Refresh();
        //        }
        //    }
        //}

        //public SysProvience SelectedProvince
        //{
        //    get { return _selectedProvince; }
        //    set
        //    {
        //        if (this._selectedProvince != value)
        //        {
        //            this._selectedProvince = value;
        //            this.OnPropertyChanged("SelectedProvince");
        //            this.FilteredCities.View.Refresh();
        //        }
        //    }
        //}

        static Locations()
        {
            _areas     = OrganizationLogic.GetAreas();
            _provinces = OrganizationLogic.GetProvinces();
            _cities    = OrganizationLogic.GetCities();
        }
示例#15
0
        public void SubsidiariesValidation()
        {
            // Arrange
            var companyB = new BusinessEntity()
            {
                CompanyName                 = "Company B",
                OrganizationalNumber        = "555555-0002",
                InternalCompanyName         = "102",
                CompanyType                 = "AB",
                Acquisition                 = "NO",
                AcquisitionRegistrationDate = "2010-03-04",
                BoardSeat    = "Stockholm",
                BoardMembers = new List <string>()
                {
                    "John Doe", "Jane Doe"
                },
                Auditor = "PwC",
                Parents = new List <BusinessRelation>()
                {
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0001", Share = "100"
                    }
                },
                Subsidiaries = new List <BusinessRelation>()
                {
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0003",
                        Share = "50"
                    },
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0004",
                        Share = "100"
                    },
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0005",
                        Share = "100"
                    }
                },
                AdministeredBy = "John Smith"
            };

            var companyF = new BusinessEntity()
            {
                CompanyName                 = "Company F",
                OrganizationalNumber        = "555555-0006",
                InternalCompanyName         = "106",
                CompanyType                 = "AB",
                Acquisition                 = "NO",
                AcquisitionRegistrationDate = "2000-01-04",
                BoardSeat    = "Stockholm",
                BoardMembers = new List <string>()
                {
                    "James Doe", "Judith Doe"
                },
                Auditor = "PwC",
                Parents = new List <BusinessRelation>()
                {
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0002", Share = "100"
                    }
                },
                Subsidiaries = new List <BusinessRelation>()
                {
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0007",
                        Share = "100"
                    },
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0004",
                        Share = "100"
                    },
                    new BusinessRelation()
                    {
                        OrganizationalNumber = "555555-0005",
                        Share = "100"
                    }
                },
                AdministeredBy = "John Smith"
            };

            var entitiesList = new List <BusinessEntity>
            {
                companyB,
                companyF
            };

            BusinessRelation subsidiary = new BusinessRelation();

            // Act
            var result = new OrganizationLogic().AdjustForMissingSubsidiary(entitiesList);

            //Assert
            foreach (var item in result)
            {
                if (item.CompanyName == "Company B")
                {
                    subsidiary = (from hits in item.Subsidiaries
                                  where hits.OrganizationalNumber == "555555-0006"
                                  select hits).FirstOrDefault();
                }
            }
            ;

            Assert.IsTrue(subsidiary.OrganizationalNumber == "555555-0006" && subsidiary.Share == "100");
        }
示例#16
0
 public OrganizationController(OrganizationLogic organizationLogic)
 {
     _organizationLogic = organizationLogic;
 }