public void SearchOrdersWithQuotesSearchesCorrectlyAndPreventsInjection()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow();
            ordersRowA.OrderId = 1;
            ordersRowA.OrderName = "Order A's";
            ordersRowA.Description = "Description A";
            ordersRowA.Approver = "User";
            ordersRowA.Creator = "User";
            ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRowA);

            OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow();
            ordersRowB.OrderId = 2;
            ordersRowB.OrderName = "Order B";
            ordersRowB.Description = "Description B";
            ordersRowB.Approver = "User";
            ordersRowB.Creator = "User";
            ordersRowB.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRowB);
            ds.AcceptChanges();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ICollection<Order> orders = ordersService.SearchOrders("'");

            Assert.AreEqual(1, orders.Count);
            IEnumerator<Order> enumerator = orders.GetEnumerator();
            enumerator.Reset();
            enumerator.MoveNext();
            Assert.AreEqual(1, enumerator.Current.OrderId);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 开始计时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            if (b)
            {
                return;
            }
            //设置timer不可用
            timer.Stop();//
            //传输数据

            try
            {
                #region  输数据
                // LoginService loginservice = new LoginService();
                OrdersService       orderservice        = new OrdersService();
                OrderbarcodeService orderbarcodeservice = new OrderbarcodeService();
                Stopwatch           sw = new Stopwatch();

                //调用登陆验证方法(string Login(UserName: string; Password: string; Operator: string))返回SID
                //UserName,Password来源配置文件,Operator为空
                string username = ConfigurationManager.AppSettings["UserName"];
                string password = ConfigurationManager.AppSettings["Password"];
                string Operator = ConfigurationManager.AppSettings["Operator"];
                SendOrdersToLis.CenterServiceSoapClient client = new SendOrdersToLis.CenterServiceSoapClient();
                sw.Start();
                // int t = 0;
                string strM = "";
                //按分点查找
                List <Dictlab> labLst = labser.GetDictlabList().Where(c => c.IsActive == '1').ToList <Dictlab>();
                #region
                foreach (Dictlab dictlab in labLst)
                {
                    //查询分点下面有没有数据
                    DataTable dt = orderservice.GetOrderToLis(dictlab.Dictlabid);// orderservice.GetOrderToLis(dictlab.Dictlabid);
                    if (dt.Rows.Count > 0)
                    {
                        if (!ht.ContainsKey(dictlab.Labcode))
                        {
                            string strsid = client.Login(dictlab.Labcode, username, password, Operator);
                            if (strsid.Split('|')[0] == "1")
                            {
                                strsid = strsid.Split('|')[1];
                                ht.Add(dictlab.Labcode, strsid);
                            }
                            else
                            {
                                string strS01 = String.Format("{0}登录失败!\n{1}", dictlab.Labname, strsid.Split('|')[1]);
                                SetTB(strS01);
                                continue;
                                //return;
                            }
                        }
                        #region
                        dt.TableName = "data_row";
                        string strxml = DataToXml.CDataToXml(dt);//将订单信息转换成xml形式的字符串
                        //根据SID,分点,及分点下的订单信息(xml字符串形式)调用Webservice上传数据到Lis
                        string strmessage = client.SendRequestInfo(ht[dictlab.Labcode].ToString(), dictlab.Labcode, StringToXML(strxml));

                        if (strmessage.Contains("MSG0006")) //登陆超时
                        {
                            ht.Remove(dictlab.Labcode);
                            SetTB(dictlab.Labname + " 登录超时!");
                            continue;
                        }
                        else
                        {
                            string[] strsp = strmessage.Split(',');
                            #region for
                            for (int k = 0; k < strsp.Length - 1; k++)
                            {
                                string[] s = strsp[k].Split('|');
                                if (s[3] == "0")
                                {
                                    strM += String.Format("{0}  达安条码[{1}],上传成功!\n", dictlab.Labname, s[0]);
                                    //上传后 如果成功就跟新orderbarcode中transed=1并给出成功提示信息,如果失败则给出失败信息
                                    orderbarcodeservice.UpdateTransedToLis(s[0]);
                                }
                                else
                                {
                                    string[] g = s[3].Split('/');
                                    #region for
                                    for (int i = 0; i < g.Length - 1; i++)
                                    {
                                        if (g[i] == "MSG1001")
                                        {
                                            strM += "申请信息不全,达安条码、医院条码、标本唯一标识不能全为空;";
                                        }
                                        if (g[i] == "MSG1002")
                                        {
                                            strM += String.Format("达安条码[{0}],申请信息姓名、性别、年龄必填项,有空值;", s[0]);
                                        }
                                        if (g[i] == "MSG1003")
                                        {
                                            strM += String.Format("达安条码[{0}],有匹配不正确的达安项目代码;", s[0]);
                                        }
                                        if (g[i] == "MSG1004")
                                        {
                                            strM += String.Format("达安条码[{0}],年龄格式不正确;", s[0]);
                                        }
                                        if (g[i] == "MSG1005")
                                        {
                                            strM += String.Format("达安条码[{0}],采样时间不能转换成时间格式;", s[0]);
                                        }
                                        if (g[i] == "MSG1007")
                                        {
                                            strM += String.Format("达安条码[{0}],病人电话格式错误;", s[0]);
                                        }
                                        if (g[i] == "MSG1008")
                                        {
                                            strM += String.Format("达安条码[{0}],医生电话格式错误;", s[0]);
                                        }
                                        if (g[i] == "MSG1009")
                                        {
                                            strM += String.Format("达安条码[{0}],病理标本、细菌标本必须单独信息;", s[0]);
                                        }
                                        if (g[i] == "MSG1010")
                                        {
                                            strM += String.Format("达安条码[{0}],性别必须为M或者F或者U;", s[0]);
                                        }
                                    }
                                    #endregion
                                    //失败信息,更新orderbarcode中transed=2
                                    if (s[0] != null && s[0] != "")
                                    {
                                        orderbarcodeservice.UpdateTransedToLisFail(s[0]);
                                    }
                                }
                            }
                            #endregion
                            SetTB(strM);
                            strM = null;
                        }
                        #endregion
                    }
                    else
                    {
                        string str2 = dictlab.Labname + "没有传输的数据!\n";
                        SetTB(str2);
                    }

                    #endregion
                    sw.Stop();
                }
                #endregion
            }
            catch (Exception ex)
            {
                string exmessage = String.Format("{0}:  {1}", DateTime.Now, ex.Message);
                SetTB(exmessage);
                CreateErrorLog(exmessage);
            }
            finally
            {
                //设置timer可用
                timer.Start();
            }
        }
Ejemplo n.º 3
0
 public BurgerController(OrdersService orderService, CloudStorage cloudStorage)
 {
     OrderService = orderService;
     CloudStorage = cloudStorage;
 }
 public OrdersController(OrdersService os)
 {
     _os = os;
 }
Ejemplo n.º 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        private async static Task CallBack(CallbackQueryEventArgs e)
        {
            var lang   = new DataContext().Languages.FirstOrDefault(f => f.ChatId == e.CallbackQuery.From.Id);
            var langId = lang != null ? lang.LanguageId : 1;
            var client = await ClientService.GetByChatId(e.CallbackQuery.From.Id);

            var count        = 0;
            var calback      = e.CallbackQuery.Data.IndexOf("_");
            var eventmassive = e.CallbackQuery.Data.Split("_");

            if (client != null && client.IsActive == true)
            {
                switch (e.CallbackQuery.Data)
                {
                case "confirm":
                    SendLocation(e);
                    break;

                case "order":
                    SendConfirms(e);
                    break;

                case "cancel":
                    OrderCancel(e);
                    break;

                case "done":
                    DoneOrder(e);
                    break;

                case "setLang":
                    CallbackLang(e);
                    break;

                case "paynaqt":
                    SendToCompany(e);
                    break;

                case "paycard":
                    SendToCompany(e);
                    break;

                case "back":
                    InliniButtonForServices(e);
                    break;

                case "til1":
                    ChangeLanguage(e);
                    break;

                case "til2":
                    ChangeLanguage(e);
                    break;

                case "dontaddSuxoyPar":
                    SendConfirms(e);
                    break;
                }
                if (calback != -1)
                {
                    AddSuxoyPar(e, eventmassive);
                }


                else if (await OrdersService.GetByPositionChatIdService(e.CallbackQuery.From.Id, 1, Convert.ToInt32(e.CallbackQuery.Data)) == null)
                {
                    AddOrders(e);
                }

                else if (await OrdersService.GetByPositionChatIdService(e.CallbackQuery.From.Id, 1, Convert.ToInt32(e.CallbackQuery.Data)) != null)
                {
                    await Bot.AnswerCallbackQueryAsync(
                        callbackQueryId : e.CallbackQuery.Id,
                        text : langId == 1? "Bu servisni tanlangan!" : "Эта услуга выбрана!",
                        showAlert : false);
                }
                Bot.AnswerCallbackQueryAsync(
                    callbackQueryId: e.CallbackQuery.Id,
                    text: langId == 1 ? "Jo'natildi" : "Отправлено",
                    showAlert: false);
            }
            else
            {
                await Bot.SendTextMessageAsync(e.CallbackQuery.From.Id, "Bot active bo'magan");
            }
        }
        public void SubmitOrderSetsOrdersStatusToSubmitted()
        {
            Order order = GetPopulatedOrder();
            order.OrderStatus = 0;
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.SubmitOrder(order);

            Assert.AreEqual((int)OrderStatusEnum.Submitted, order.OrderStatus);
        }
Ejemplo n.º 7
0
        private OrdersService CreateOrdersService()
        {
            var ordersService = new OrdersService();

            return(ordersService);
        }
Ejemplo n.º 8
0
 public OrdersController(OrdersService oServ)
 {
     _orderSrv = oServ;
 }
Ejemplo n.º 9
0
        public OrdersController(IConfiguration configuration)
        {
            var connectionString = configuration.GetConnectionString("ConnectionString");

            this.OrdersService = new OrdersService(new OrdersRepository(connectionString));
        }
        public void CanCreateInstanceWithoutPassingRepositoryToConstructor()
        {
            OrdersService service = new OrdersService(new FakeProductService());

            Assert.IsNotNull(service);
        }
        public void DeleteUnexistingOrderThrowsException()
        {
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.DeleteOrder(1234);
        }
Ejemplo n.º 12
0
 public OrdersController(OrdersService orderservice, IGymBuddyRepository repository, IMapper mapper)
 {
     _repository   = repository;
     _mapper       = mapper;
     _orderService = orderservice;
 }
Ejemplo n.º 13
0
 public override void Initialize()
 => _service = new OrdersService();
Ejemplo n.º 14
0
        private long? Add(int docNum, string ccy, DateTime date, string accountIBAN, decimal amount, string purpose, string cashDeskSymbol, int userId)
        {
            #region OrdersService
            OrdersService o = new OrdersService();
            o.RequestHeadersValue = new OrdersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = DateTime.Now.ToLongTimeString() };
            #endregion

            #region CustomersService
            CustomersService c = new CustomersService();
            c.RequestHeadersValue = new CustomersAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = DateTime.Now.ToLongTimeString() };
            #endregion

            #region CustomersService
            AccountsService a = new AccountsService();
            a.RequestHeadersValue = new AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = DateTime.Now.ToLongTimeString() };
            #endregion

            var acc = a.GetAccount(AccountControlFlags.Basic, true, new AccountsAPI.InternalAccountIdentification() { IBAN = accountIBAN }, ccy);
            var cus = c.GetCustomer(CustomerControlFlags.Basic, true, acc.CustomerId.Value, true);
            var cusEntity = cus.Entity as IndividualEntity;

            #region Variables
            long id;
            bool specified;
            #endregion

            #region Order Init
            var Order = new CashOrderData
            {
                Amount = new OrdersAPI.AmountAndCurrency { Amount = amount, Ccy = ccy },
                Date = date,
                Status = OrdersAPI.TransactionStatus.Green,
                StatusSpecified = true,
                TransactionCode = "qwe34242342", //09
                OpCode = "120",
                Purpose = purpose,
                //ExtraAccount = 0,
                //ExtraAccountSpecified = false,
                CustomerAccount = new OrdersAPI.InternalAccountIdentification { IBAN = accountIBAN },
                OrderDate = date,
                OrderDateSpecified = true,
                Type = CashOrderType.Deposit,
                Customer = new CustomerData { Name = (OrdersAPI.PersonName)cusEntity.Name },
                //DeptId = 5,
                //DeptIdSpecified = true,
                DocNum = 555847,
                DocNumSpecified = docNum == 0 ? false : true
            };

            cusEntity = (c.GetCustomer(CustomerControlFlags.IdentityDocuments, true, acc.CustomerId.Value, true).Entity as IndividualEntity);

            Order.Customer.IdentityDocument = (OrdersAPI.IdentityDocument)cusEntity.IdentityDocuments[0];
            #endregion

            #region Put Order
            o.PutOrder(new OrdersAPI.UserAndDeptId()
            {
                DeptId = 2,
                DeptIdSpecified = true,
                UserIdentification = new OrdersAPI.UserIdentification() { Id = 21, IdSpecified = true }
            }, 0, false,
                   new Guid().ToString(),
                   true, true, false, true, Order, out id, out specified);
            #endregion

            return id;
        }
        public void SubmitOrderAddsOrderDetails()
        {
            Order order = GetPopulatedOrder();
            order.OrderId = 0;
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());
            order.Details.Add(new OrderDetail(0, 10, 1, 1.99m));
            int detailsCount = order.Details.Count;

            ordersService.SaveAsDraft(order);

            Assert.AreEqual(detailsCount, ds.OrderDetails.Count);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 10);
            Assert.IsNotNull(detailRow);
            Assert.AreEqual((short)1, detailRow.Quantity);
        }
 public void CanCreateInstanceWithoutPassingRepositoryToConstructor()
 {
     OrdersService service = new OrdersService(new FakeProductService());
     Assert.IsNotNull(service);
 }
        public void SubmitOrderSetsOrdersDate()
        {
            Order order = GetPopulatedOrder();
            order.OrderStatus = 0;
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.SubmitOrder(order);

            Assert.IsNotNull(order.OrderDate);
        }
        public void DeleteNonDraftOrderThrowsException()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow();
            ordersRowA.OrderId = 1;
            ordersRowA.OrderName = "Order A";
            ordersRowA.Description = "Description A";
            ordersRowA.Approver = "User";
            ordersRowA.Creator = "User";
            ordersRowA.OrderStatus = (int)OrderStatusEnum.Submitted;
            ds.Orders.AddOrdersRow(ordersRowA);

            ds.AcceptChanges();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.DeleteOrder(1);
        }
Ejemplo n.º 19
0
        public JsonResult getOrders(string pageSize, string page,
                                    string name,
                                    string oid,
                                    string community,
                                    string area,
                                    string unitType,
                                    string duration,
                                    string rent,
                                    string floor,
                                    string time,
                                    string state

                                    )
        {
            List <OrdersUserHouse> ouhList = OrdersUserHouseService.LoadEntities(o => true).ToList();

            List <OrdersUserHouseEntity> entity = new List <OrdersUserHouseEntity>();

            foreach (OrdersUserHouse item in ouhList)
            {
                Orders orders = OrdersService.LoadEntities(o => o.oid == item.oid).FirstOrDefault();
                User   user   = UserService.LoadEntities(o => o.uid == item.uid).FirstOrDefault();

                int      uiid     = UserUserInfoService.LoadEntities(u => u.uid == user.uid).FirstOrDefault().uiid;
                UserInfo userInfo = UserInfoService.LoadEntities(u => u.uiid == uiid).FirstOrDefault();
                House    house    = HouseService.LoadEntities(h => h.hid == item.hid).FirstOrDefault();

                entity.Add(new OrdersUserHouseEntity()
                {
                    name      = userInfo.name,
                    phone     = userInfo.phone,
                    duration  = orders.duration,
                    rent      = orders.rent,
                    state     = orders.state,
                    time      = orders.time,
                    ouhid     = item.ouhid,
                    hid       = house.hid,
                    community = house.community,
                    unitType  = house.unitType,
                    area      = house.area,
                    oid       = orders.oid,
                    floor     = house.floor
                });
            }

            int pageInt     = Convert.ToInt32(page);
            int pageSizeInt = Convert.ToInt32(pageSize);


            if (!string.IsNullOrWhiteSpace(state))
            {
                //int oidInt = Convert.ToInt32(oid);
                entity = entity.Where(u => u.state == state).ToList();
            }

            //time = time.Replace("-","");
            // 20210326
            if (!string.IsNullOrWhiteSpace(time))
            {
                time = time.Substring(0, 10).Replace("-", "");
                DateTime itemDate = DateTime.ParseExact(time, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                itemDate = itemDate.AddDays(1);
                string formatDate = itemDate.ToString("yyyyMMdd");
                //int oidInt = Convert.ToInt32(oid);
                entity = entity.Where(u => u.time == formatDate).ToList();
            }


            if (!string.IsNullOrWhiteSpace(oid))
            {
                int oidInt = Convert.ToInt32(oid);
                entity = entity.Where(u => u.oid == oidInt).ToList();
            }


            if (!string.IsNullOrWhiteSpace(area))
            {
                int areaInt = Convert.ToInt32(area);
                entity = entity.Where(u => u.area == areaInt).ToList();
            }

            if (!string.IsNullOrWhiteSpace(duration))
            {
                int durationInt = Convert.ToInt32(duration);
                entity = entity.Where(u => u.duration == durationInt).ToList();
            }

            if (!string.IsNullOrWhiteSpace(rent))
            {
                int rentInt = Convert.ToInt32(rent);
                entity = entity.Where(u => u.rent == rentInt).ToList();
            }

            if (!string.IsNullOrWhiteSpace(name))
            {
                entity = entity.Where(u => u.name.Contains(name)).ToList();
            }

            if (!string.IsNullOrWhiteSpace(community))
            {
                entity = entity.Where(u => u.community.Contains(community)).ToList();
            }


            if (!string.IsNullOrWhiteSpace(unitType))
            {
                entity = entity.Where(u => u.unitType.Contains(unitType)).ToList();
            }


            if (!string.IsNullOrWhiteSpace(floor))
            {
                entity = entity.Where(u => u.floor.Contains(floor)).ToList();
            }


            int total = entity.Count;

            entity = entity.Skip((pageInt - 1) * pageSizeInt).Take(pageSizeInt).ToList();


            return(Json(new { entity = entity, total = total }, JsonRequestBehavior.AllowGet));
        }
        public void DeleteRemovesOnlyExpectedOrderFromRepository()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow();
            ordersRowA.OrderId = 3;
            ordersRowA.OrderName = "Order A";
            ordersRowA.Description = "Description A";
            ordersRowA.Approver = "User";
            ordersRowA.Creator = "User";
            ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRowA);

            OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow();
            ordersRowB.OrderId = 2;
            ordersRowB.OrderName = "Order B";
            ordersRowB.Description = "Description B";
            ordersRowB.Approver = "User";
            ordersRowB.Creator = "User";
            ordersRowB.OrderStatus = (int)OrderStatusEnum.Submitted;
            ds.Orders.AddOrdersRow(ordersRowB);

            ds.AcceptChanges();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.DeleteOrder(3);

            Assert.AreEqual(1, ds.Orders.Count);
            Assert.AreEqual(2, ds.Orders[0].OrderId);
        }
Ejemplo n.º 21
0
        public IHttpActionResult POST()
        {
            try
            {
                //設定ChannelAccessToken(或抓取Web.Config)
                this.ChannelAccessToken = channelAccessToken;
                //取得Line Event(範例,只取第一個)
                var LineEvent          = this.ReceivedMessage.events.FirstOrDefault(); //JSON轉成物件
                isRock.LineBot.Bot bot = new isRock.LineBot.Bot("0A/dwcLNYoarvmtMAuIiXl745SBEYWOq1FZtg0feMY5e+bUIBVG5SOh8V7oUjlE8xA3etOVliIFz7NZNF1ZXZMt/2dn/MU6+p+YmrOboCtW0JkoSmiCVZebxOc3dyKljZaVV9XWfHvcBOq4wSki8OAdB04t89/1O/w1cDnyilFU=");
                //配合Line verify
                if (LineEvent.replyToken == "00000000000000000000000000000000")
                {
                    return(Ok());
                }
                //回覆訊息

                string lineID     = ReceivedMessage.events.FirstOrDefault().source.userId;
                var    userid     = bot.GetUserInfo(lineID).displayName;
                var    model      = new Products();
                var    service    = new OrdersService();
                var    repository = new OrdersRepository();

                if (LineEvent.type == "message")
                {
                    if (LineEvent.message.type == "text") //收到文字
                    {
                        if (LineEvent.message.text.ToLower() == "銷售額多少")
                        {
                            //建立actions, 作為ButtonTemplate的用戶回覆行為
                            var actions = new List <isRock.LineBot.TemplateActionBase>();
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "年", text = "年"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "半年", text = "半年"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "月", text = "月"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "日", text = "日"
                            });
                            var ButtonTempalteMsg = new isRock.LineBot.ButtonsTemplate()
                            {
                                title             = "請選擇",
                                text              = "以下選項",
                                altText           = "請在手機上檢視",
                                thumbnailImageUrl = new Uri("https://i.imgur.com/waYRM42.jpg"),
                                actions           = actions
                            };
                            this.ReplyMessage(LineEvent.replyToken, ButtonTempalteMsg);
                        }
                        if (LineEvent.message.text.ToLower() == "年")
                        {
                            DateTime from = new DateTime(2018, 1, 1);
                            DateTime to   = new DateTime(2018, 12, 31);
                            var      year = repository.GetByOrder_Date(from, to);
                            this.ReplyMessage(LineEvent.replyToken, year.Sum(x => x.Total).ToString().ToLower() + "元");
                        }
                        if (LineEvent.message.text.ToLower() == "半年")
                        {
                            DateTime from = new DateTime(2018, 1, 1);
                            DateTime to   = new DateTime(2018, 6, 30);
                            var      year = repository.GetByOrder_Date(from, to);
                            this.ReplyMessage(LineEvent.replyToken, year.Sum(x => x.Total) + "元");
                        }
                        if (LineEvent.message.text.ToLower() == "月")
                        {
                            DateTime from = new DateTime(2018, 6, 1);
                            DateTime to   = new DateTime(2018, 6, 30);
                            var      year = repository.GetByOrder_Date(from, to);
                            this.ReplyMessage(LineEvent.replyToken, year.Sum(x => x.Total).ToString() + "元");
                        }
                        if (LineEvent.message.text.ToLower() == "日")
                        {
                            DateTime from = new DateTime(2018, 6, 20, 0, 0, 0);
                            DateTime to   = new DateTime(2018, 6, 20, 23, 59, 59);
                            var      year = repository.GetByOrder_Date(from, to);
                            this.ReplyMessage(LineEvent.replyToken, year.Sum(x => x.Total).ToString() + "元");
                        }
                        if (LineEvent.message.text.ToLower() == "商品")
                        {
                            //建立actions, 作為ConfirmTemplate的用戶回覆行為
                            var actions = new List <isRock.LineBot.TemplateActionBase>();
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "最熱銷", text = "最熱銷"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "最滯銷", text = "最滯銷"
                            });
                            var ConfirmTemplate = new isRock.LineBot.ConfirmTemplate()
                            {
                                text    = "請選擇",
                                altText = "請在手機上檢視",
                                actions = actions
                            };
                            this.ReplyMessage(LineEvent.replyToken, ConfirmTemplate);
                        }
                        if (LineEvent.message.text == "最熱銷" || LineEvent.message.text == "最滯銷")
                        {
                            var a3 = "";
                            var b  = "";
                            var c  = "";
                            //    var product = repository.GetProductTop9();
                            int a9;
                            if (LineEvent.message.text == "最熱銷")
                            {
                                b = "最熱銷";
                                c = "DESC";
                            }
                            else
                            {
                                b = "最滯銷";
                                c = "ASC";
                            }
                            var product = repository.GetProductTop9(c);
                            if (LineEvent.message.text == "最熱銷")
                            {
                                a9 = product.Max(x => x.count);
                            }
                            else
                            {
                                a9 = product.Min(x => x.count);
                            }

                            foreach (var i in product)
                            {
                                if (i.count == a9)
                                {
                                    a3 += i.Product_Name.ToString() + " \n";
                                }
                            }

                            this.ReplyMessage(LineEvent.replyToken, $"{b}  :  \n{a3}");
                        }
                        if (LineEvent.message.text == "庫存少於的商品有哪些")
                        {
                            //建立actions, 作為ButtonTemplate的用戶回覆行為
                            var actions = new List <isRock.LineBot.TemplateActionBase>();
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "5項", text = "5"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "10項", text = "10"
                            });
                            actions.Add(new isRock.LineBot.MessageAction()
                            {
                                label = "15項", text = "15"
                            });
                            var ButtonTempalteMsg = new isRock.LineBot.ButtonsTemplate()
                            {
                                title             = "請選擇",
                                text              = "以下選項",
                                altText           = "請在手機上檢視",
                                thumbnailImageUrl = new Uri("https://i.imgur.com/waYRM42.jpg"),
                                actions           = actions
                            };
                            this.ReplyMessage(LineEvent.replyToken, ButtonTempalteMsg);
                        }
                        //   if (LineEvent.message.text == "5" || LineEvent.message.text == "10" || LineEvent.message.text == "15")
                        int s;
                        if (int.TryParse(LineEvent.message.text, out s))
                        {
                            // var s = int.Parse(LineEvent.message.text);
                            var product = repository.GetStock(s);
                            var a1      = "";
                            foreach (var i in product)
                            {
                                a1 += $"商品編號 : {i.Product_ID}  商品名稱 :  {i.Product_Name} 尺寸 : {i.Size}  顏色 : {i.Color} 數量 : {i.Quantity}  , \n";
                            }
                            try
                            {
                                this.ReplyMessage(LineEvent.replyToken, $"商品庫存  :  \n{a1}");
                            }
                            catch
                            {
                                this.ReplyMessage(LineEvent.replyToken, $"商品庫存  :  只能在0~15內");
                            }
                        }
                    }
                    if (LineEvent.message.type == "sticker")
                    {
                        this.ReplyMessage(LineEvent.replyToken, 1, 2);
                    }
                    if (LineEvent.message.type == "location")
                    {
                        this.ReplyMessage(LineEvent.replyToken, $"你的位置在\n{LineEvent.message.latitude}, {LineEvent.message.longitude}");
                    }
                    if (LineEvent.message.type == "image")
                    {
                        //取得圖片Bytes
                        var bytes = this.GetUserUploadedContent(LineEvent.message.id);

                        var guid     = Guid.NewGuid().ToString();
                        var filename = $"{guid}.png";
                        var path     = System.Web.Hosting.HostingEnvironment.MapPath("~/temp/");
                        System.IO.File.WriteAllBytes(path + filename, bytes);
                        //取得base URL
                        var baseUrl = Request.RequestUri.GetLeftPart(UriPartial.Authority);
                        //組出外部可以讀取的檔名
                        var url = $"{baseUrl}/temp/{filename}";
                        this.ReplyMessage(LineEvent.replyToken, $"你的圖片位於\n {url}");
                    }
                }
                if (LineEvent.type == "postback")
                {
                    var data = LineEvent.postback.data;
                    var date = LineEvent.postback.Params.date;
                    this.ReplyMessage(LineEvent.replyToken, $"你的postback資料為:{data}\n選擇結果:{date}");
                }
                //response OK
                return(Ok());
            }
            catch (Exception ex)
            {
                //如果發生錯誤,傳訊息給Admin
                this.PushMessage(AdminUserId, "發生錯誤:\n" + ex.Message);
                //response OK
                return(Ok());
            }
        }
        public void DeleteRemovesOrderDetailsFromRepository()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.OrderId = 2;
            ordersRow.Approver = "CurrentUser";
            ordersRow.Creator = "CurrentUser";
            ordersRow.OrderName = "Test Order";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRow);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow();
            detailRow.OrdersRow = ordersRow;
            detailRow.ProductId = 11;
            detailRow.Quantity = 3;
            ds.OrderDetails.AddOrderDetailsRow(detailRow);
            ds.AcceptChanges();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.DeleteOrder(2);

            Assert.AreEqual(0, ds.Orders.Count);
            Assert.AreEqual(0, ds.OrderDetails.Count);
        }
Ejemplo n.º 23
0
 public OrderStateChangedHandler(OrdersService orderService)
 {
     _orderService = orderService;
 }
        public void DeleteRemovesOrderFromRepository()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow();
            ordersRowA.OrderId = 1;
            ordersRowA.OrderName = "Order A";
            ordersRowA.Description = "Description A";
            ordersRowA.Approver = "User";
            ordersRowA.Creator = "User";
            ordersRowA.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRowA);

            ds.AcceptChanges();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.DeleteOrder(1);

            Assert.AreEqual(0, ds.Orders.Count);
        }
        public void AddOrderWithGift()
        {
            var ordersRepository    = new Mock <IOrdersRepository>();
            var productsRepository  = new Mock <IProductsRepository>();
            var customersRepository = new Mock <ICustomersRepository>();

            var customer = new Customer {
                Id = 11
            };
            var firstProduct = new Product
            {
                Id     = 456,
                Prices = new List <Price> {
                    new Price {
                        ProductId = 456, Currency = new Currency {
                            Id = 1
                        }, Amount = 999M
                    }
                }
            };
            var secondProduct = new Product
            {
                Id     = 2435,
                Prices = new List <Price> {
                    new Price {
                        ProductId = 2435, Currency = new Currency {
                            Id = 1
                        }, Amount = 10500M
                    }
                }
            };
            var gift = new Product
            {
                Id     = 6,
                Prices = new List <Price> {
                    new Price {
                        ProductId = 6, Currency = new Currency {
                            Id = 1
                        }, Amount = 0
                    }
                }
            };

            customersRepository.Setup(x => x.GetById(11)).Returns(customer);

            productsRepository.Setup(x => x.GetById(456)).Returns(firstProduct);
            productsRepository.Setup(x => x.GetById(2435)).Returns(secondProduct);
            productsRepository.Setup(x => x.GetGift()).Returns(gift);

            var order = new Order
            {
                OrderItems = new List <OrderItem>
                {
                    new OrderItem {
                        ProductId = 456, Quantity = 1
                    },
                    new OrderItem {
                        ProductId = 2435, Quantity = 2
                    }
                },
                CurrencyId = 1,
                CustomerId = 11
            };

            var ordersService = new OrdersService(ordersRepository.Object, productsRepository.Object, customersRepository.Object);

            ordersService.AddOrder(order);

            ordersRepository.Verify(
                x =>
                x.AddOrder(
                    It.Is <Order>(
                        y =>
                        y.Customer == customer && y.CurrencyId == 1 && y.OrderItems.Count == 3 &&
                        y.OrderItems.First(o => o.Product == gift).Quantity == 1)),
                Times.Once);

            customersRepository.Verify(x => x.GetById(11), Times.Once);
            productsRepository.Verify(x => x.GetById(456), Times.Once);
            productsRepository.Verify(x => x.GetById(2435), Times.Once);
            productsRepository.Verify(x => x.GetGift(), Times.Once);
        }
        public void GetOrderWithDetailsGetsBothOrderAndDetails()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.CustomerId = "11";
            ordersRow.Description = "MyDescription";
            ordersRow.Approver = "MyEmployeeId";
            ordersRow.Creator = "MyEmployeeId";
            ordersRow.OrderName = "MyOrderName";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ordersRow.ShipAddress = "MyShipAddress";
            ordersRow.ShipCity = "MyShipCity";
            ordersRow.ShipPostalCode = "MyZip";
            ordersRow.ShipRegion = "MyShipRegion";
            ds.Orders.AddOrdersRow(ordersRow);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow();
            detailRow.OrdersRow = ordersRow;
            detailRow.ProductId = 11;
            detailRow.Quantity = 3;
            ds.OrderDetails.AddOrderDetailsRow(detailRow);
            ds.AcceptChanges();

            FakeProductService productService = new FakeProductService();
            productService.Products.Add(new Product(11, null, null, 2.99m, null));

            OrdersService ordersService = new OrdersService(ds, productService);

            Order order = ordersService.GetOrderWithDetails(ordersRow.OrderId);

            Assert.IsNotNull(order);
            Assert.AreEqual(ordersRow.OrderId, order.OrderId);
            Assert.AreEqual("MyDescription", order.Description);
            Assert.IsNotNull(order.Details);
            Assert.AreEqual(1, order.Details.Count);
            Assert.AreEqual((short)3, order.Details[0].Quantity);
            Assert.AreEqual(2.99m, order.Details[0].UnitPrice);
        }
Ejemplo n.º 27
0
        public void OrdersService_PayOrder_WithInitiatedOrderUsingStandardMethod_StatusChangedToPaid()
        {
            //ARRANGE
            var clientsRepository      = new ClientsRepositoryInMemory();
            var ordersRepository       = new OrderRepositoryInMemory();
            var storageItemsRepository = new StorageItemsRepositoryInMemory();
            var mailService            = new MailService();

            var address = new Address
            {
                AddressLine = "RandomStreet 1",
                City        = "RandomCity",
                PostalCode  = "RandomPostalCode",
                IsDefault   = true
            };

            var email = new Email
            {
                EmailString = "*****@*****.**",
                IsDefault   = true
            };

            var client = new Client
            {
                Addresses = new List <Address> {
                    address
                },
                Balance = 100,
                Emails  = new List <Email> {
                    email
                },
                FirstName  = "RandomFirstName",
                Id         = 1,
                LastName   = "RandomLastName",
                MiddleName = "RandomMiddleName"
            };

            var shopAddress = new Address
            {
                AddressLine = "RandomStreet 1",
                City        = "RandomCity",
                PostalCode  = "RandomPostalCode",
                IsDefault   = true
            };

            var shop = new Shop
            {
                CompanyNumber = "00001",
                Address       = shopAddress,
                Title         = "RandomTitle"
            };

            var product = new Product
            {
                Id    = 1,
                Price = 10,
                Title = "RandomTitle1",
            };

            var storageItem = new StorageItem
            {
                Id       = 1,
                Product  = product,
                Quantity = 2
            };

            var orderLine = new OrderLine
            {
                Product  = product,
                Quantity = 2
            };

            var order = new Order
            {
                Status       = OrderStatus.Initiated,
                CreationDate = DateTime.Now,
                FinishDate   = null,
                Id           = 1,
                Initiator    = client,
                Notes        = string.Empty,
                Shop         = shop,
                OrderLines   = new List <OrderLine> {
                    orderLine
                }
            };

            ordersRepository.Orders = new List <Order> {
                order
            };
            clientsRepository.Clients = new List <Client> {
                client
            };
            storageItemsRepository.StorageItems = new List <StorageItem> {
                storageItem
            };

            //ACT
            var ordersService = new OrdersService(ordersRepository, storageItemsRepository, clientsRepository, mailService);

            ordersService.PayOrder(order.Id, client.Id);

            //ASSERT
            order  = ordersRepository.Orders.First(p => p.Id == order.Id);
            client = clientsRepository.Clients.First(p => p.Id == client.Id);

            Assert.That(order.Status, Is.EqualTo(OrderStatus.Paid));
            Assert.That(client.Balance, Is.EqualTo(80m));
        }
        public void GetOrderWithDetailsReturnsNullWhenOrderNotExists()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            Order order = ordersService.GetOrderWithDetails(0);

            Assert.IsNull(order);
        }
        public void SearchOrdersRetrievesOrdersByName()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRowA = ds.Orders.NewOrdersRow();
            ordersRowA.OrderId = 1;
            ordersRowA.OrderName = "OrderA";
            ordersRowA.Description = string.Empty;
            ordersRowA.Approver = "User";
            ordersRowA.Creator = "User";
            ordersRowA.OrderStatus = (int)OrderStatusEnum.Submitted;

            ds.Orders.AddOrdersRow(ordersRowA);

            OrdersManagementDataSet.OrdersRow ordersRowB = ds.Orders.NewOrdersRow();
            ordersRowB.OrderId = 2;
            ordersRowB.OrderName = "OrderB";
            ordersRowB.Description = string.Empty;
            ordersRowB.Approver = "User";
            ordersRowB.Creator = "User";
            ordersRowB.OrderStatus = (int)OrderStatusEnum.Submitted;

            ds.Orders.AddOrdersRow(ordersRowB);
            ds.AcceptChanges();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ICollection<Order> foundOrders = ordersService.SearchOrders("OrderA");

            Assert.AreEqual(1, foundOrders.Count);
            IEnumerator<Order> enumerator = foundOrders.GetEnumerator();
            enumerator.Reset();
            enumerator.MoveNext();
            Assert.AreEqual(1, enumerator.Current.OrderId);
        }
        public void GetSavedDraftOrdersDoesNotRetrieveOrderForApproversWhoAreNotTheCurrentLoggedInOne()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.Approver = "DifferentWhoCares";
            ordersRow.Creator = "DifferentUser";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRow);
            ds.AcceptChanges();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            IList<Order> orders = ordersService.GetOrdersForApprover("CurrentUser");

            Assert.IsNotNull(orders);
            Assert.AreEqual(0, orders.Count);
        }
        public void SearchOrderThrowsArgumentExceptionWhenStartOrderIndexIsTooLarge()
        {
            OrdersManagementDataSet ds = InitOrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            int ordersTotalCount;
            ICollection<Order> foundOrders = ordersService.SearchOrders("Order", 4, int.MaxValue, out ordersTotalCount);
        }
        public void GetSavedDraftOrdersDoesNotRetrieveOrdersWithoutDraftStatus()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.Approver = "WhoCares";
            ordersRow.Creator = "CurrentUser";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Submitted;
            ds.Orders.AddOrdersRow(ordersRow);
            ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.Approver = "WhoCares";
            ordersRow.Creator = "CurrentUser";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Approved;
            ds.Orders.AddOrdersRow(ordersRow);
            ds.AcceptChanges();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            IList<Order> orders = ordersService.GetSavedDraftOrders("CurrentUser");

            Assert.IsNotNull(orders);
            Assert.AreEqual(0, orders.Count);
        }
        public void SubmitOrderAssignsIDWhenNotAssignded()
        {
            Order order = GetPopulatedOrder();
            order.OrderId = 0;
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.SubmitOrder(order);

            Assert.AreNotEqual(0, order.OrderId);
        }
        public void GetSavedDraftOrdersRetrievesOrdersWithDraftStatusAndForCurrentUser()
        {
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersManagementDataSet.OrdersRow ordersRow = ds.Orders.NewOrdersRow();
            ordersRow.Approver = "WhoCares";
            ordersRow.Creator = "CurrentUser";
            ordersRow.OrderName = "Test Order";
            ordersRow.OrderStatus = (int)OrderStatusEnum.Draft;
            ds.Orders.AddOrdersRow(ordersRow);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.NewOrderDetailsRow();
            detailRow.OrdersRow = ordersRow;
            detailRow.ProductId = 11;
            detailRow.Quantity = 3;
            ds.OrderDetails.AddOrderDetailsRow(detailRow);
            ds.AcceptChanges();

            FakeProductService productService = new FakeProductService();
            productService.Products.Add(new Product(11, null, null, 2.99m, null));
            OrdersService ordersService = new OrdersService(ds, productService);

            IList<Order> orders = ordersService.GetSavedDraftOrders("CurrentUser");

            Assert.IsNotNull(orders);
            Assert.AreEqual(1, orders.Count);
            Order order = orders[0];
            Assert.AreEqual("Test Order", order.OrderName);
            Assert.IsNotNull(order);
            Assert.AreEqual(1, order.Details.Count);
            Assert.AreEqual((short)3, order.Details[0].Quantity);
            Assert.AreEqual(2.99m, order.Details[0].UnitPrice);
        }
        public void ApproveOrderSetsOrdersStatusToApproved()
        {
            Order order = GetPopulatedOrder();
            order.OrderStatus = 0;
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), GetPopulatedProductService());

            ordersService.SubmitOrder(order);

            ordersService.ApproveOrder(order.OrderId);

            order = ordersService.GetOrderWithDetails(order.OrderId);

            Assert.AreEqual((int)OrderStatusEnum.Approved, order.OrderStatus);
        }
        public void OrderStatusDifferentThanDraftOrNotAssignedThrowsOnSubmitOrder()
        {
            Order order = GetPopulatedOrder();
            order.OrderStatus = (int)OrderStatusEnum.Submitted;
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.SubmitOrder(order);
        }
        public void SubmitOrderStoresOrderInRepository()
        {
            Order order = GetPopulatedOrder();
            order.OrderId = 0;
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.SubmitOrder(order);

            OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(order.OrderId);
            Assert.IsNotNull(row);
            Assert.AreEqual(1, ds.Orders.Count);
            Assert.AreEqual(order.OrderName, row.OrderName);
            Assert.AreEqual(order.CustomerId, row.CustomerId);
            Assert.AreEqual(order.Description, row.Description);
            Assert.AreEqual(order.Approver, row.Approver);
            Assert.AreEqual(order.OrderStatus, row.OrderStatus);
            Assert.AreEqual(order.ShipAddress, row.ShipAddress);
            Assert.AreEqual(order.ShipCity, row.ShipCity);
            Assert.AreEqual(order.ShipPostalCode, row.ShipPostalCode);
            Assert.AreEqual(order.ShipRegion, row.ShipRegion);
        }
        public void OrderStatusDifferentThanSubmittedThrowsOnRejectOrder()
        {
            Order order = GetPopulatedOrder();
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());
            ordersService.SaveAsDraft(order);

            ordersService.RejectOrder(order.OrderId);
        }
Ejemplo n.º 39
0
        public JsonResult getMainData(string province)
        {
            int userToday = 0;
            int userMonth = 0;
            int userHis   = 0;

            DateTime dt  = DateTime.Now;
            string   now = dt.ToString("yyyyMMdd");
            // 用户
            List <UserUserInfo> userList = UserUserInfoService.LoadEntities(u => true).ToList();

            userToday = userList.Where(u => u.pubTime == now).ToList().Count;
            foreach (UserUserInfo item in userList)
            {
                DateTime itemDate = DateTime.ParseExact(item.pubTime, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                //DateTime _itemDate = itemDate.ToShortDateString();
                DateTime startMonth = DateTime.ParseExact(dt.AddDays(1 - dt.Day).ToString("yyyyMMdd"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                //本月月初 带分钟
                //DateTime _startMonth = DateTime.ParseExact(startMonth.ToShortDateString(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                //DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);  //本月月末
                DateTime endMonth = DateTime.ParseExact(dt.AddDays(1 - dt.Day).AddMonths(1).AddDays(-1).ToString("yyyyMMdd"), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                //DateTime _endMonth = DateTime.ParseExact(startMonth.ToShortDateString(), "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                if (itemDate >= startMonth && itemDate <= endMonth)
                {
                    userMonth++;
                }
            }

            userHis = userList.Count;

            // 订单
            int orderToday  = 0;
            int orderMonth  = 0;
            int orderHis    = 0;
            int waitOrder   = 0;
            int placedOrder = 0;
            List <OrdersUserHouse> ouhList = OrdersUserHouseService.LoadEntities(o => true).ToList();

            orderToday = ouhList.Where(o => o.pubTime == now).ToList().Count;
            foreach (OrdersUserHouse ouh in ouhList)
            {
                Orders order = OrdersService.LoadEntities(o => o.oid == ouh.oid).FirstOrDefault();

                DateTime itemDate = DateTime.ParseExact(ouh.pubTime, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

                DateTime startMonth = dt.AddDays(1 - dt.Day);              //本月月初
                DateTime endMonth   = startMonth.AddMonths(1).AddDays(-1); //本月月末

                if (itemDate >= startMonth && itemDate <= endMonth)
                {
                    orderMonth++;
                }

                if (order.state == "0")
                {
                    waitOrder++;
                }

                if (order.state == "1")
                {
                    placedOrder++;
                }
            }

            orderHis = ouhList.Count;

            // 房屋
            int          houseToday = 0;
            int          houseMonth = 0;
            int          houseHis   = 0;
            List <House> houseList  = HouseService.LoadEntities(h => true).ToList();

            houseToday = houseList.Where(h => h.time == now).ToList().Count;
            foreach (House item in houseList)
            {
                DateTime itemDate = DateTime.ParseExact(item.time, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

                DateTime startMonth = dt.AddDays(1 - dt.Day);              //本月月初
                DateTime endMonth   = startMonth.AddMonths(1).AddDays(-1); //本月月末

                if (itemDate >= startMonth && itemDate <= endMonth)
                {
                    houseMonth++;
                }
            }

            houseHis = houseList.Count;


            Dictionary <string, int> userChart  = new Dictionary <string, int>();
            Dictionary <string, int> houseChart = new Dictionary <string, int>();
            DateTime last7Day = DateTime.Now.AddDays(-6);

            for (int i = 0; i <= 6; i++)
            {
                string date = last7Day.ToString("yyyyMMdd");
                //DateTime itemDate = DateTime.ParseExact(date, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                int count      = UserUserInfoService.LoadEntities(u => u.pubTime == date).ToList().Count;
                int countHouse = HouseService.LoadEntities(h => h.time == date).ToList().Count;
                userChart.Add(date, count);
                houseChart.Add(date, countHouse);
                last7Day = last7Day.AddDays(1);
            }


            houseList = HouseService.LoadEntities(h => h.province == province).ToList();
            Dictionary <string, int> houseDic = new Dictionary <string, int>();

            foreach (House item in houseList)
            {
                if (!houseDic.ContainsKey(item.city))
                {
                    houseDic.Add(item.city, 1);
                }
                else
                {
                    int count = houseDic[item.city] += 1;
                    houseDic[item.city] = count;
                }
            }

            List <string> userChartX = userChart.Keys.ToList();
            List <int>    userChartY = userChart.Values.ToList();

            //List<string> houseDicX = houseDic.Keys.ToList();
            List <int>      houseDicY = houseDic.Values.ToList();
            List <HousePie> housePie  = new List <HousePie>();

            foreach (var item in houseDic)
            {
                housePie.Add(new HousePie {
                    name = item.Key, value = item.Value.ToString()
                });
            }

            List <string>         provinces = new List <string>();
            List <DataDictionary> datas     = DataDictionaryService.LoadEntities(d => d.dkey == "region").ToList();

            foreach (var item in datas)
            {
                if (!provinces.Contains(item.dvalue3))
                {
                    provinces.Add(item.dvalue3);
                }
            }

            AdminMainEntity entity = new AdminMainEntity
            {
                userToday   = userToday,
                userMonth   = userMonth,
                userHis     = userHis,
                orderToday  = orderToday,
                orderMonth  = orderMonth,
                orderHis    = orderHis,
                waitOrder   = waitOrder,
                placedOrder = placedOrder,
                houseToday  = houseToday,
                houseMonth  = houseMonth,
                houseHis    = houseHis,
                userChartX  = userChartX,
                userChartY  = userChartY,
                //houseDicX = houseDicX,
                houseDicY = houseChart.Values.ToList(),
                housePie  = housePie,
                provinces = provinces
            };

            return(Json(entity, JsonRequestBehavior.AllowGet));
        }
        public void RejectUnexistingOrderThrowsException()
        {
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.RejectOrder(1234);
        }
Ejemplo n.º 41
0
 public HomeController(JewellisDbContext dbContext, OrdersService orders, ClientCurrencyService clientCurrency)
 {
     _dbContext      = dbContext;
     _orders         = orders;
     _clientCurrency = clientCurrency;
 }
        public void SaveAsDraftCanStoreOrderWithoutDetailsInRepository()
        {
            Order order = new Order();
            order.OrderId = 0;
            order.Approver = "11";
            order.Creator = "11";
            order.Details = null;

            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ordersService.SaveAsDraft(order);

            OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(order.OrderId);
            Assert.IsNotNull(row);
            Assert.AreEqual(1, ds.Orders.Count);
        }
 public OrdersController(OrdersService ordersService, IUsersService usersService)
 {
     this.ordersService = ordersService;
     this.usersService  = usersService;
 }
        public void SaveAsDraftSetsOrdersStatusToDraft()
        {
            Order order = GetPopulatedOrder();
            order.OrderStatus = 0;
            OrdersService ordersService = new OrdersService(new OrdersManagementDataSet(), new FakeProductService());

            ordersService.SaveAsDraft(order);

            Assert.AreEqual((int) OrderStatusEnum.Draft, order.OrderStatus);
        }
Ejemplo n.º 45
0
        public async Task AllOrdersByUserIdTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()).Options;
            var dbContext = new ApplicationDbContext(options);

            dbContext.Products.Add(new Product
            {
                Id       = 1,
                Quantity = 2,
                Name     = "Product1",
                Price    = 4,
                ImageUrl = "Image",
                Ratings  = new List <Rating>
                {
                    new Rating
                    {
                        Id        = 1,
                        ProductId = 1,
                        Grade     = Grade.Average,
                    },
                    new Rating
                    {
                        Id        = 2,
                        ProductId = 1,
                        Grade     = Grade.VeryGood,
                    },
                },
            });
            dbContext.Products.Add(new Product
            {
                Id       = 2,
                Quantity = 2,
                Name     = "Product2",
                Price    = 4,
                ImageUrl = "Image",
                Ratings  = new List <Rating>
                {
                    new Rating
                    {
                        Id        = 3,
                        ProductId = 2,
                        Grade     = Grade.VeryBad,
                    },
                    new Rating
                    {
                        Id        = 4,
                        ProductId = 2,
                        Grade     = Grade.VeryGood,
                    },
                },
            });
            dbContext.Products.Add(new Product
            {
                Id       = 3,
                Quantity = 2,
                Name     = "Product3",
                Price    = 4,
                ImageUrl = "Image",
                Ratings  = new List <Rating>
                {
                    new Rating
                    {
                        Id        = 5,
                        ProductId = 3,
                        Grade     = Grade.VeryBad,
                    },
                    new Rating
                    {
                        Id        = 6,
                        ProductId = 3,
                        Grade     = Grade.VeryGood,
                    },
                },
            });
            dbContext.ApplicationUsers.Add(new ApplicationUser
            {
                Id = "TestId",
            });
            dbContext.ApplicationUsers.Add(new ApplicationUser
            {
                Id = "TestId2",
            });
            dbContext.Orders.Add(new Order
            {
                Id        = Guid.NewGuid().ToString(),
                ProductId = 1,
                UserId    = "TestId",
            });
            dbContext.Orders.Add(new Order
            {
                Id        = Guid.NewGuid().ToString(),
                ProductId = 1,
                UserId    = "TestId",
            });
            dbContext.Orders.Add(new Order
            {
                Id        = Guid.NewGuid().ToString(),
                ProductId = 2,
                UserId    = "TestId2",
            });
            await dbContext.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <Order>(dbContext);
            var service    = new OrdersService(repository);

            var orders = service.AllOrdersByUserId("TestId", 10, 0);

            Assert.Equal(2, orders.Count());
            Assert.Equal(4, orders.Where(a => a.ProductId == 1).First().AverageRating);
        }
        public void SaveAsDraftWithExistingOrderUpdatesDetailsInRepository()
        {
            Order order = GetPopulatedOrder();
            order.OrderId = 0;
            order.Details.Add(new OrderDetail(0, 10, 1, 1.99m));

            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, GetPopulatedProductService());
            ordersService.SaveAsDraft(order);
            int orderID = order.OrderId;

            order = GetPopulatedOrder();
            order.OrderId = orderID;
            order.Details.Add(new OrderDetail(0, 20, 3, 2.50m));
            int detailsCount = order.Details.Count;

            ordersService.SaveAsDraft(order);

            Assert.AreEqual(detailsCount, ds.OrderDetails.Count);
            OrdersManagementDataSet.OrderDetailsRow detailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 20);
            Assert.IsNotNull(detailRow);
            Assert.AreEqual((short)3, detailRow.Quantity);

            OrdersManagementDataSet.OrderDetailsRow deletedDetailRow = ds.OrderDetails.FindByOrderIdProductId(order.OrderId, 10);
            Assert.IsNull(deletedDetailRow);
        }
Ejemplo n.º 47
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="e"></param>
        /// <returns></returns>
        private static async Task TryMessage(MessageEventArgs e)
        {
            var chat = await ClientService.GetByChatId(e.Message.Chat.Id);

            var company = CompanyService.GetByChatId(e.Message.Chat.Id);
            var order   = await OrdersService.GetByPositionChatId(e.Message.Chat.Id, 1);

            var tokenOrService = -1;

            if (e.Message.Text != null)
            {
                tokenOrService = e.Message.Text.IndexOf("_");
            }
            //Stream read = File.OpenRead("dry.mp4");
            if (e.Message.Location != null && chat != null && order != null)
            {
                if (order.Longitude == null && order.Longitude == null)
                {
                    SendPayment(e);
                }
                else
                {
                    InliniButtonForServices(e);
                }
            }
            else if (tokenOrService != -1)
            {
                AddTokenOrService(e);
            }
            else if (company != null && e.Message.Video != null || company != null && e.Message.Photo != null)
            {
                SendPhotoOrVideo(e);
            }
            else if (e.Message.Text == "/start" && chat == null)
            {
                var firstmessage = "Biz sizga kim deb murojaat qilsak bo’ladi?\n Как мы можем обратиться к вам?";
                //Bot.SendVideoAsync(e.Message.Chat.Id, video: read, caption: "Dry car washing");
                ClientService.AddOrUpdate(new Client()
                {
                    ChatId = e.Message.Chat.Id
                });
                Bot.SendTextMessageAsync(e.Message.Chat.Id, firstmessage);
            }
            else if (e.Message.Text == "/todayPeople" && company != null)
            {
                var count = await ClientService.GetCount();

                Bot.SendTextMessageAsync(e.Message.Chat.Id, count != 0 ? "Bugungi qo'shilgan odamlar - " + count : "Bugun odam qo'shilmagan");
            }
            else if (e.Message.Text != "/start" && chat == null)
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos /start ni bosing");
            }

            else if (e.Message.Text == "/info")
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Call center \nTelefon: \n +998 95 001 07 99 \n \n Телефон: \n +998 95 001 07 99");
            }
            else if (e.Message.Text == "/start" && chat.Name == null)
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos telefon ism ni kiriting!");
            }

            else if (e.Message.Text == "/start" && chat.Phone == null)
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos telefon nomer ni kiriting!");
            }

            else if (e.Message.Contact != null && chat.Phone == null)
            {
                var random = new Random().Next(10000, 99999);
                ClientService.AddOrUpdate(new Client()
                {
                    Id = chat.Id, Name = chat.Name, Phone = e.Message.Contact.PhoneNumber, ChatId = e.Message.Chat.Id, IsActive = false, GenerateCode = random
                });
                SendSMSForClient(e);
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos Kodni kiriting! \n \n Пожалуйста, введите код", replyMarkup: new ReplyKeyboardRemove());
            }
            else if (e.Message.Text == "/changenumber")
            {
                ClientService.AddOrUpdate(new Client()
                {
                    Id = chat.Id, Name = chat.Name, ChatId = e.Message.Chat.Id
                });
                var secondmessage        = "Ro'yxatdan o'tish uchun telefon raqamingizni kiriting \nRaqamni 901234567 shaklida yuboring. \n \n Введите свой номер телефона для регистрации \nОтправьте номер в форме 901234567.";
                var RequestReplyKeyboard = new ReplyKeyboardMarkup(new[]// bu yerda location qabul qilish ishlatilvotdi
                {
                    new KeyboardButton("📱 Contact")
                    {
                        RequestContact = true
                    }
                });
                RequestReplyKeyboard.ResizeKeyboard  = true;
                RequestReplyKeyboard.OneTimeKeyboard = true;

                Bot.SendTextMessageAsync(e.Message.Chat.Id, secondmessage, ParseMode.Default, false, false, 0, RequestReplyKeyboard);
            }
            else if (chat.Name == null)
            {
                ClientService.AddOrUpdate(new Client()
                {
                    Id = chat.Id, Name = e.Message.Text, ChatId = e.Message.Chat.Id
                });
                var secondmessage        = "Ro'yxatdan o'tish uchun telefon raqamingizni kiriting \nRaqamni 901234567 shaklida yuboring. \n \n Введите свой номер телефона для регистрации \nОтправьте номер в форме 901234567.";
                var RequestReplyKeyboard = new ReplyKeyboardMarkup(new[]// bu yerda location qabul qilish ishlatilvotdi
                {
                    new KeyboardButton("📱 Contact")
                    {
                        RequestContact = true
                    }
                });
                RequestReplyKeyboard.ResizeKeyboard  = true;
                RequestReplyKeyboard.OneTimeKeyboard = true;

                Bot.SendTextMessageAsync(e.Message.Chat.Id, secondmessage, ParseMode.Default, false, false, 0, RequestReplyKeyboard);
            }
            else if (chat.Phone == null)
            {
                try
                {
                    if (e.Message.Text.Length == 9)
                    {
                        var random = new Random().Next(10000, 99999);
                        var phone  = Convert.ToInt32(e.Message.Text);
                        ClientService.AddOrUpdate(new Client()
                        {
                            Id = chat.Id, Name = chat.Name, Phone = e.Message.Text, ChatId = e.Message.Chat.Id, IsActive = false, GenerateCode = random
                        });
                        Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos kodni kiriting! \nПожалуйста, введите код!");
                        SendSMSForClient(e);
                    }
                    else
                    {
                        var secondmessage = "Telefon raqam noto'g'ri kiritildi \n Raqamni 901234567 shaklida yuboring!";
                        Bot.SendTextMessageAsync(e.Message.From.Id, secondmessage);
                    }
                }
                catch
                {
                    var secondmessage = "Telefon raqam noto'g'ri kiritildi \n Raqamni 901234567 shaklida yuboring!";
                    Bot.SendTextMessageAsync(e.Message.From.Id, secondmessage);
                }
            }
            else if (chat.IsActive == false && chat.GenerateCode.ToString() == e.Message.Text)
            {
                ClientService.AddOrUpdate(new Client()
                {
                    Id = chat.Id, Name = chat.Name, Phone = chat.Phone, GenerateCode = chat.GenerateCode, ChatId = e.Message.Chat.Id, IsActive = true, DateCreate = DateTime.Now.Date
                });
                InliniButtonForServices(e);
            }
            else if (chat.IsActive == true)
            {
                InliniButtonForServices(e);
            }


            else if (chat.IsActive == false && chat.GenerateCode.ToString() != e.Message.Text)
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, "Iltimos kodni to'g'ri kiriting!");
            }

            else if (e.Message != null && chat != null)
            {
                Bot.SendTextMessageAsync(e.Message.Chat.Id, chat.Name == null ? "Iltimos ismni kiritin" : "Iltimos nomerni kiritin");
            }
        }
        public void SaveAsDraftWithExistingOrderUpdatesRepository()
        {
            Order order = GetPopulatedOrder();
            order.OrderId = 0;
            OrdersManagementDataSet ds = new OrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, GetPopulatedProductService());
            ordersService.SaveAsDraft(order);
            int orderID = order.OrderId;

            order = GetPopulatedOrder();
            order.OrderId = orderID;
            order.OrderName = "MyNewName";

            ordersService.SaveAsDraft(order);

            OrdersManagementDataSet.OrdersRow row = ds.Orders.FindByOrderId(orderID);
            Assert.IsNotNull(row);
            Assert.AreEqual("MyNewName", row.OrderName);
            Assert.AreEqual(1, ds.Orders.Count);
        }
 public OrdersController(OrdersService ordersService)
 {
     _ordersService = ordersService;
 }
        public void SearchOrderNotExceedMaximumOrdersCount()
        {
            OrdersManagementDataSet ds = InitOrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            int ordersTotalCount;
            ICollection<Order> foundOrders = ordersService.SearchOrders("Order", 0, 2, out ordersTotalCount);

            Assert.AreEqual(3, ordersTotalCount);
            Assert.AreEqual(2, foundOrders.Count);
            List<Order> searchableList = new List<Order>(foundOrders);
            Assert.IsTrue(searchableList.Exists(delegate(Order order) { return order.OrderId == 1; }));
            Assert.IsTrue(searchableList.Exists(delegate(Order order) { return order.OrderId == 2; }));
            Assert.IsFalse(searchableList.Exists(delegate(Order order) { return order.OrderId == 3; }));
        }
Ejemplo n.º 51
0
        public void GetAllUserOrdersShouldReturnAllOrdersBeforeGivenUnloadingDate()
        {
            var searchModel = new SearchInputModel
            {
                SenderName    = null,
                ReceiverName  = null,
                LoadingDate   = null,
                UnloadingDate = DateTime.UtcNow.AddDays(5),
            };

            //Create first Order
            var shipment = new Shipment()
            {
                FromCity = new City {
                    Name = "Plovdiv"
                },
                ToCity = new City {
                    Name = "Sofia"
                },
                Length            = 2,
                Width             = 3,
                Height            = 1.2,
                Weight            = 333,
                CountOfPallets    = 2,
                IsExpressDelivery = true,
                IsFragile         = false,
                Price             = 114.60M
            };

            var input = new AddressInputModel
            {
                ShipmentId      = shipment.Id,
                LoadingName     = "Fenix",
                UnloadingName   = "Faaaaaaaaan",
                LoadingDate     = DateTime.UtcNow,
                UnloadingDate   = DateTime.UtcNow.AddDays(1),
                LoadingPhone    = "0877-223-225",
                UnloadingPhone  = "0877-774-225",
                Description     = "descr",
                LoadingStreet   = "бул. Христо Ботев",
                UnloadingStreet = "Александровска",
                LoadingNumber   = "12",
                UnloadingNumber = "23A",
                LoadingEmail    = "*****@*****.**",
                UnloadingEmail  = "*****@*****.**",
            };

            var user = new ApplicationUser
            {
                UserName = "******"
            };

            var optionsBuilder = new DbContextOptionsBuilder <ApplicationDbContext>()
                                 .UseInMemoryDatabase(Guid.NewGuid().ToString());
            var db = new ApplicationDbContext(optionsBuilder.Options);

            db.Shipments.Add(shipment);
            db.Users.Add(user);
            db.SaveChanges();

            var ordersService = new OrdersService(db);

            ordersService.CreateOrder(input, user.Id);


            //Create second Order
            var shipment2 = new Shipment()
            {
                FromCity = new City {
                    Name = "Plovdiv"
                },
                ToCity = new City {
                    Name = "Sofia"
                },
                Length            = 2,
                Width             = 3,
                Height            = 1.2,
                Weight            = 333,
                CountOfPallets    = 2,
                IsExpressDelivery = true,
                IsFragile         = false,
                Price             = 114.60M
            };

            var input2 = new AddressInputModel
            {
                ShipmentId      = shipment2.Id,
                LoadingName     = "Fenix2",
                UnloadingName   = "Fazan",
                LoadingDate     = DateTime.UtcNow,
                UnloadingDate   = DateTime.UtcNow.AddDays(2),
                LoadingPhone    = "0877-223-225",
                UnloadingPhone  = "0877-774-225",
                Description     = "descr",
                LoadingStreet   = "бул. Христо Ботев",
                UnloadingStreet = "Александровска",
                LoadingNumber   = "12",
                UnloadingNumber = "23A",
                LoadingEmail    = "*****@*****.**",
                UnloadingEmail  = "*****@*****.**",
            };

            db.Shipments.Add(shipment2);
            db.SaveChanges();
            ordersService.CreateOrder(input2, user.Id);


            //Create third Order
            var shipment3 = new Shipment()
            {
                FromCity = new City {
                    Name = "Plovdiv"
                },
                ToCity = new City {
                    Name = "Sofia"
                },
                Length            = 2,
                Width             = 3,
                Height            = 1.2,
                Weight            = 333,
                CountOfPallets    = 2,
                IsExpressDelivery = true,
                IsFragile         = false,
                Price             = 114.60M
            };

            var input3 = new AddressInputModel
            {
                ShipmentId      = shipment3.Id,
                LoadingName     = "Company",
                UnloadingName   = "Fazan",
                LoadingDate     = DateTime.UtcNow,
                UnloadingDate   = DateTime.UtcNow.AddDays(10),
                LoadingPhone    = "0877-223-225",
                UnloadingPhone  = "0877-774-225",
                Description     = "descr",
                LoadingStreet   = "бул. Христо Ботев",
                UnloadingStreet = "Александровска",
                LoadingNumber   = "12",
                UnloadingNumber = "23A",
                LoadingEmail    = "*****@*****.**",
                UnloadingEmail  = "*****@*****.**",
            };

            db.Shipments.Add(shipment3);
            db.SaveChanges();
            ordersService.CreateOrder(input3, user.Id);

            var searchService = new SearchService(db);
            var collection    = searchService.GetAllUserOrders(user.Id, searchModel);

            var result = collection.Count();

            Assert.Equal(2, result);
        }
        public void SearchOrderRetrievesOrderFromStartOrderIndex()
        {
            OrdersManagementDataSet ds = InitOrdersManagementDataSet();
            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            int ordersTotalCount;
            ICollection<Order> foundOrders = ordersService.SearchOrders("Order", 2, int.MaxValue, out ordersTotalCount);

            Assert.AreEqual(3, ordersTotalCount);
            Assert.AreEqual(1, foundOrders.Count);
            List<Order> searchableList = new List<Order>(foundOrders);
            Assert.IsFalse(searchableList.Exists(delegate(Order order) { return order.OrderId == 1; }));
            Assert.IsFalse(searchableList.Exists(delegate(Order order) { return order.OrderId == 2; }));
            Assert.IsTrue(searchableList.Exists(delegate(Order order) { return order.OrderId == 3; }));
        }
 public UsersController()
 {
     this.users    = new UsersService();
     this.products = new ProductsService();
     this.orders   = new OrdersService();
 }
        public void SearchOrdersDoesALikeMatch()
        {
            OrdersManagementDataSet ds = InitOrdersManagementDataSet();

            OrdersService ordersService = new OrdersService(ds, new FakeProductService());

            ICollection<Order> foundOrders = ordersService.SearchOrders("Description");

            List<Order> searchableList = new List<Order>(foundOrders);

            Assert.AreEqual(2, foundOrders.Count);
            Assert.IsTrue(searchableList.Exists(delegate(Order order) { return order.OrderId == 1; }));
            Assert.IsTrue(searchableList.Exists(delegate(Order order) { return order.OrderId == 2; }));
            Assert.IsFalse(searchableList.Exists(delegate(Order order) { return order.OrderId == 3; }));
        }
Ejemplo n.º 55
0
 public OrdersController(OrdersService ss)
 {
     _ss = ss;
 }
 public OrdersController(OrdersService orderService, ILogger <OrdersController> logger)
 {
     _orderService = orderService;
     _logger       = logger;
 }