Ejemplo n.º 1
0
        public ActionResult Index()
        {
            try
            {
                var customerId = CustomerId();
                if (customerId == 0)
                {
                    return(Redirect("/Me/JoinUs/Index"));
                }
                ViewData["CustomerName"] = CustomerName();
                ViewData["WeixinUser"]   = WeiXinUser();
                LogManager.GetLogger().Info("customerId:" + customerId);

                ViewData["CustoemrBase"] = CustomerBase.FindById(customerId);

                var customerCards = CustomerCard.FindByList(customerId: customerId);
                ViewData["CustomerCards"] = customerCards;

                var orderBases = OrderBaseInfo.FindByList(customerId: customerId);
                ViewData["OrderBases"] = orderBases;

                ViewData["CustomerBases"] = CustomerBase.FindByList(parentId: customerId);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
            }
            return(View());
        }
Ejemplo n.º 2
0
        public void Execute_ValidRegisterInput_CreatesRegisterOutput()
        {
            var registerInput = new OrderBaseInfo
            {
                OrderType   = EnumOrderType.Buy,
                ClientParty = new ClientInfo
                {
                    IDClient = 222,
                    IDBroker = 333
                },
                OrderItems = new OrderItemBasetInfo[] {
                    new OrderItemBasetInfo {
                        IDBond         = 999,
                        Quantity       = 1.05m,
                        BondUnityPrice = 12504.16m
                    }
                }
            };
            // var registerLocator = _services.GetService<IServiceLocator<IRegister>>();
            // var register = registerLocator.GetService(registerInput.OrderType);
            var registerLocator = _services.GetService <IServiceLocator>();
            var register        = registerLocator.GetService <IRegister>(registerInput.OrderType);
            var actual          = register.Execute(registerInput).Result;

            actual.Should().NotBeNull().And.BeOfType <OrderInfo>();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 我的提成
        /// </summary>
        /// <returns></returns>
        public ActionResult SalesCommissions()
        {
            try
            {
                var customerId = CustomerId();
                ViewData["CustomerName"] = CustomerName();
                ViewData["WeixinUser"]   = WeiXinUser();

                ViewData["CustomerBase"] = CustomerBase.FindById(customerId);

                var customerBases = CustomerBase.FindByList(parentId: customerId);

                var orderBases = OrderBaseInfo.FindByList();
                orderBases = orderBases.Where(p => customerBases.Any(c => c.Id == p.CustomerId)).ToList();

                ViewData["OrderBases"] = orderBases;

                ViewData["CustomerOrderCommissions"] = CustomerOrderCommission.FindByList(customerId: customerId);

                ViewData["CustomerWithdrawalRecords"] = CustomerWithdrawalRecord.FindByList(customerId: customerId);
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
            }
            return(View());
        }
Ejemplo n.º 4
0
        public void Execute_InvalidOrderType_ThrowsArgumentException()
        {
            var registerInput = new OrderBaseInfo
            {
                OrderType = EnumOrderType.Unknown,
            };
            var registerLocator = (IServiceLocator <IRegister>)_services.GetRequiredService <IServiceLocator <IRegister> >();

            registerLocator.Should().NotBeNull();
            var register = registerLocator.GetService(registerInput.OrderType);

            register.Invoking(m => m.Execute(registerInput).Result).Should().Throw <ArgumentException>();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 销售排名
        /// </summary>
        /// <returns></returns>
        public ActionResult SalesRanking()
        {
            try
            {
                var customerId = CustomerId();
                ViewData["CustomerName"] = CustomerName();
                ViewData["WeixinUser"]   = WeiXinUser();
                var orderBases = OrderBaseInfo.FindByList(bookStatusId: 2);
                ViewData["OrderBases"] = orderBases;
                var orderCityDic     = new Dictionary <string, decimal>();
                var orderCustomerDic = new Dictionary <int, decimal>();
                if (null != orderBases && orderBases.Any())
                {
                    foreach (var orderBase in orderBases)
                    {
                        if (orderCityDic.ContainsKey(orderBase.CityName))
                        {
                            orderCityDic[orderBase.CityName] = orderCityDic[orderBase.CityName] + orderBase.TotalAmount;
                        }
                        else
                        {
                            orderCityDic.Add(orderBase.CityName, orderBase.TotalAmount);
                        }

                        if (orderCustomerDic.ContainsKey(orderBase.CustomerId))
                        {
                            orderCustomerDic[orderBase.CustomerId] = orderCustomerDic[orderBase.CustomerId] +
                                                                     orderBase.TotalAmount;
                        }
                        else
                        {
                            orderCustomerDic.Add(orderBase.CustomerId, orderBase.TotalAmount);
                        }
                    }
                }

                var dicSort = from objDic in orderCityDic orderby objDic.Value descending select objDic;
                ViewData["OrderCiteDic"] = dicSort;

                var orderCustomerDicSort = from objDic in orderCustomerDic orderby objDic.Value descending select objDic;
                ViewData["OrderCustomerDic"] = orderCustomerDicSort;
            }
            catch (Exception ex)
            {
                LogManager.GetLogger().Error(ex);
            }
            return(View());
        }
Ejemplo n.º 6
0
        public virtual async Task <OrderInfo> Execute(OrderBaseInfo orderBaseInfo)
        {
            var entryValidation = _validator.Validate(orderBaseInfo);

            if (!entryValidation.IsValid)
            {
                var msgError = "";
                foreach (var error in entryValidation.Errors)
                {
                    msgError += $"{error.ErrorCode}. {error.PropertyName}: {error.ErrorMessage} > {error.CustomState}";
                }
                throw new ArgumentException(msgError);
            }
            var orderInfo = _map.Map <OrderInfo>(orderBaseInfo);

            orderInfo.OrderSituation   = EnumOrderSituation.Registered;
            orderInfo.TotalBrokerFees  = orderInfo.OrderItems.Sum(oi => oi.BrokerFees?.Value ?? 0);
            orderInfo.TotalCompanyFees = orderInfo.OrderItems.Sum(oi => oi.CompanyFees?.Value ?? 0);
            orderInfo.TotalGrossValue  = orderInfo.OrderItems.Sum(oi => oi.GrossValue);
            orderInfo.TotalNetValue    = orderInfo.OrderItems.Sum(oi => oi.NetValue);
            return((OrderInfo)await _orderRepository.Create(orderInfo));
        }
Ejemplo n.º 7
0
    private static void SetOrderBaseInfo(string webSiteName)
    {
        OrderBaseInfo orderBaseInfo = new OrderBaseInfo(webSiteName);

        ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.CaseNumberPrefix, orderBaseInfo.CaseNumberPrefix);
        ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.PNRRefNumber, orderBaseInfo.PNRRefNumber);

        switch (GlobalBaseUtility.GetDirectFromName())
        {
            case DirectFroms.GraceFang:
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.QueueNo, QueueNoInfo.GraceFang);
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.PCC, PCCInfo.GraceFang);
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.CategoryNo, CategoryNoInfo.GraceFang);

                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.CCEmails, CCEmails.GraceFang);
                break;

            default:
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.QueueNo, orderBaseInfo.QueueNo);
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.PCC, orderBaseInfo.PCC);
                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.CategoryNo, orderBaseInfo.CategoryNo);

                ConfigurationSettings.AppSettings.Set(OrderBaseInfoProperties.CCEmails, CCEmails.Default);
                break;
        }
    }