Example #1
0
 public void HandleAction(StoreAction action)
 {
     if (action.Type == "UpdateCurrentHealth")
     {
         this.state = (float)action.Payload;
     }
 }
Example #2
0
 public AfterStoreChangedEventArgs(string action, bool success, Exception exception, List <object> responseRecords)
 {
     this.action          = Store.Action(action);
     this.exception       = exception;
     this.success         = success;
     this.responseRecords = responseRecords;
 }
Example #3
0
        public void TestUpdateGood()
        {
            var odmen      = new OdmenAction();
            var store      = new StoreAction();
            var goodUpdate = store.GetAllGoods().FirstOrDefault(s => s.name.Contains("name"));

            if (goodUpdate == null)
            {
                Assert.Pass("Нет тестового товара для изменения");
                return;
            }
            goodUpdate.name     = "name_Updated";
            goodUpdate.info     = "info_Updated";
            goodUpdate.imageUrl = "imageUrl_Updated";
            goodUpdate.discount = 78;
            goodUpdate.price    = 67889.23M;
            goodUpdate.groupId  = store.GetGroups().Last().id;
            goodUpdate.fullInfo = "fullInfo_Updated";
            odmen.ChangeGood(goodUpdate);
            var updated = store.GetAllGoods().FirstOrDefault(s => s.name == goodUpdate.name
                                                             //&& s.fullInfo == goodUpdate.fullInfo
                                                             && s.info == goodUpdate.info && s.imageUrl == goodUpdate.imageUrl &&
                                                             s.price == goodUpdate.price && s.discount == goodUpdate.discount);

            // TODO: Add your test code here
            Assert.IsNotNull(updated);
        }
Example #4
0
 public void Start <T>(StoreAction <T> store,
                       ActionWithData <T> action,
                       StopCondition <T> closeConnectionCondition) where T : class
 {
     onStart();
     try
     {
         serverSocket.Bind(ipEndPoint);
         serverSocket.Listen(config.MaxConnections);
         ThreadParams <T> param = new ThreadParams <T>(store, action, closeConnectionCondition);
         Thread           connectionListener = new Thread(Listen <T>);
         connectionListener.Start(param);
         string cmd;
         while (true)
         {
             cmd = Console.ReadLine();
             if (cmd.Equals(config.ServerStopCommand))
             {
                 break;
             }
         }
         connectionListener.Abort("Stopping server.");
         connectionListener.Join();
         serverSocket.Shutdown(SocketShutdown.Both);
         serverSocket.Close();
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
 public AfterStoreChangedEventArgs(string action, bool success, Exception exception, List<object> responseRecords)
 {
     this.action = Store.Action(action);
     this.exception = exception;
     this.success = success;
     this.responseRecords = responseRecords;
 }
        private void FindChild(ref List <CatalogGroupTree> catalogTree, GoodGroup group)
        {
            var storeActions = new StoreAction();
            var parentId     = group.id;

            if (catalogTree == null)
            {
                catalogTree = new List <CatalogGroupTree>();
            }
            var current = new CatalogGroupTree {
                groupId = group.id, groupName = group.name,
                link    = $"~/Catalog/{group.id}"
            };

            catalogTree.Add(current);
            var groups = storeActions.GetGroups().Where(s => s.parentId == parentId).ToList();

            if (groups?.Count > 0)
            {
                foreach (var item in groups)
                {
                    FindChild(ref current.childGroups, item);
                }
            }
        }
        public ActionResult _partialGoodsEditor(long?goodId, bool isClone)
        {
            var store = new StoreAction();
            var model = new Good();

            if (goodId > 0)
            {
                model        = store.GetGoodInfo(goodId.Value);
                model.isEdit = true;
            }
            if (isClone)
            {
                model.id     = 0;
                model.isEdit = false;
                model.goodProperties?.ForEach(s => s.goodId = 0);
            }
            if (model.goodProperties == null || model.goodProperties.Count == 0)
            {
                model.goodProperties = new List <GoodProperty> {
                    new GoodProperty()
                }
            }
            ;                                                                         //чтобы была хотя бы одна пустая стркоа для заполнения
            return(PartialView(model));
        }
Example #8
0
        private void UpdateReadMessageStore(string number, StoreAction sa)
        {
            if (sa == StoreAction.Add)
            {
                if (!unreadInConvo.ContainsKey(number))
                {
                    unreadInConvo[number] = 1;
                }
                else
                {
                    unreadInConvo[number]++;
                }
            }
            else
            {
                if (unreadInConvo.ContainsKey(number))
                {
                    int num = unreadInConvo[number];
                    unreadInConvo.Remove(number);
                    unreadMessages -= num;
                }
            }

            string numUnread = (unreadMessages == 0) ? "" : " (" + unreadMessages.ToString() + ")";

            Invoke(new Action(() =>
            {
                messageTitle.Text = "Messages" + numUnread;
                Text = mainTitle + numUnread;
            }));
        }
        public static IDisposable CourseUpdater(CourseStorageActions actions, string coursesDirectory)
        {
            var commands = actions.CreateCourse.Select(StoreAction.Create <Unit>("createCourse"))
                           .Merge(actions.UpdateCourse.Select(StoreAction.Create <CourseData>("updateCourse")))
                           .Merge(actions.DeleteCourse.Select(StoreAction.Create <string>("deleteCourse")))
                           .Merge(actions.UndoDeleteCourse.Select(StoreAction.Create <Unit>("undoDeleteCourse")));

            return(commands
                   .Subscribe(command => {
                if (command.Id.Equals("createCourse"))
                {
                    var newCourse = CourseData.CreateNew();
                    CreateCourse(coursesDirectory, newCourse);
                }
                else if (command.Id.Equals("updateCourse"))
                {
                    var updatedCourse = (CourseData)command.Arguments;
                    UpdateCourse(coursesDirectory, updatedCourse);
                }
                else if (command.Id.Equals("deleteCourse"))
                {
                    var deletedCourseId = (string)command.Arguments;
                    DeleteCourse(coursesDirectory, deletedCourseId);
                }
                else if (command.Id.Equals("undoDeleteCourse"))
                {
                    var deletedCourseId = (string)command.Arguments;
                    UndoDeleteCourse(coursesDirectory, deletedCourseId);
                }
            }));
        }
        public static IConnectableObservable <CourseSelectorState> Create(CourseSelectorActions actions, IObservable <IList <CourseData> > courseUpdates,
                                                                          IObservable <bool> isCourseEditorOpen)
        {
            var commands = actions.SelectCourse.Select(StoreAction.Create <string>("selectCourse"))
                           .Merge(actions.DeselectCourse.Select(StoreAction.Create <Unit>("deselectCourse")));

            // Only route commands when the course editor is open
            var filteredCommands = isCourseEditorOpen
                                   .Select(isOpen => isOpen ? commands : Observable.Empty <StoreAction <object> >())
                                   .Switch()
                                   .StartWith(new StoreAction <object>("deselectCourse", Unit.Default));

            return(courseUpdates
                   .CombineLatest(filteredCommands, (courses, command) => {
                Maybe <string> selectedCourse = Maybe.Nothing <string>();
                if (command.Id.Equals("selectCourse"))
                {
                    var selectedCourseId = (string)command.Arguments;
                    selectedCourse = courses
                                     .Find(c => c.Id.Equals(selectedCourseId))
                                     .Select(c => c.Id);
                }

                return new CourseSelectorState(
                    availableCourses: courses,
                    selectedCourse: selectedCourse,
                    // TODO Enable delete
                    isUndoDeleteCoursePossible: false);
            })
                   .Replay(1));
        }
        private CatalogModel GetCatalogModel(long?groupId)
        {
            var store = new StoreAction();

            if (groupId == null || groupId == 0)
            {
                var modelAll = new CatalogModel
                {
                    goods   = store.GetAllGoods().Select(s => new GoodViewModel(s)).ToList(),
                    groupId = 0,
                };
                modelAll.filter = _filterCatalog(modelAll);
                return(modelAll);
            }
            var allGroups = store.GetGroups();
            var groups    = new List <long>();

            if (!allGroups.Exists(s => s.id == groupId))
            {
                Response.Redirect(Url.Content("~/Error/_404"), true);
                return(null);
            }
            SetPratentGroupLinks(groupId.Value);
            GetChildGroups(groupId.Value, ref groups);
            var goods = store.GetAllGoods().Join(groups, good => good.groupId, group => group, (good, group) => new GoodViewModel(good)).ToList();
            var model = new CatalogModel
            {
                goods = goods
            };

            model.groupId = groupId.Value;
            model.filter  = _filterCatalog(model);
            return(model);
        }
        private FilterCatalogModel _filterCatalog(CatalogModel model)
        {
            var store       = new StoreAction();
            var filterModel = new FilterCatalogModel();

            filterModel.groupId = model.groupId;
            if (model.goods == null || model.goods.Count == 0)
            {
                return(filterModel);
            }
            filterModel.minPrice = filterModel.selectedMinPrice = model.goods.Min(s => s.price);
            filterModel.maxPrice = filterModel.selectedMaxPrice = model.goods.Max(s => s.price);
            var brands = model.goods.Select(s => s.brandId).Where(s => s.HasValue).Distinct().ToList();

            filterModel.brands = new List <BrandFilter>();
            var brandsAll = store.GetGoodBrands();

            if (brands?.Count() > 0)
            {
                foreach (var item in brands)
                {
                    var brand = brandsAll.Single(s => s.id == item);
                    filterModel.brands.Add(new BrandFilter
                    {
                        brandId    = brand.id,
                        brandName  = brand.name,
                        brandCount = model.goods.Count(s => s.brandId == brand.id),
                        isChecked  = true
                    });
                }
            }
            return(filterModel);
        }
Example #13
0
        private void InitData()
        {
            comboBoxTime.Items.AddRange(_defineTimeDic.Keys.ToArray <Object>());
            DataDicAction action = new DataDicAction();
            DataTable     dt     = action.GetList("交易来源");

            if (dt != null)
            {
                DataRow dr = dt.NewRow();
                dr["ID"]   = Guid.Empty;
                dr["CODE"] = "--";
                dt.Rows.InsertAt(dr, 0);
                comboBoxSource.ValueMember   = "ID";
                comboBoxSource.DisplayMember = "CODE";
                comboBoxSource.DataSource    = dt;
            }
            StoreAction storeAction = new StoreAction();
            DataTable   store       = storeAction.Query();

            if (store != null)
            {
                DataRow dr = store.NewRow();
                dr["ID"]   = Guid.Empty;
                dr["Name"] = "--";
                store.Rows.InsertAt(dr, 0);
                comboBoxStore.ValueMember   = "ID";
                comboBoxStore.DisplayMember = "NAME";
                comboBoxStore.DataSource    = store;
            }
        }
 public ActionResult Details(long goodId)
 {
     try
     {
         var store = new StoreAction();
         var good  = store.GetGoodInfo(goodId);
         var model = new GoodDetailsViewModel(good);
         model.feedbacks       = store.GetFeedBack(goodId);
         model.canSendFeedback = Session.IsAuth() && !model.feedbacks.Any(s => s.userId == Session.GetUserId());
         if (Session.IsAuth())
         {
             var customer = new CustomerAction(Session.GetUserId());
             customer.SetThatWatching(goodId);
         }
         SetPratentGroupLinks(good.groupId);
         (ViewBag.Links as Queue <Link>).Enqueue(new Link {
             description = good.name, url = $"~/Details/{good.groupId}/{good.id}"
         });
         return(View(model));
     }
     catch (Exception ex)
     {
         HttpContext.Response.Redirect("/Error/_404", true);
         return(null);
     }
 }
        private Link GetGroupCatalogLink(long groupId)
        {
            var group = new StoreAction().GetGroups().Single(s => s.id == groupId);

            return(new Link {
                description = group.name, url = "~/Catalog/" + group.id
            });
        }
        public void TestGetFeedBack_CountNotNull()
        {
            var storeAction = new StoreAction();
            var result      = storeAction.GetFeedBack(2);

            // TODO: Add your test code here
            Assert.IsTrue(result?.Count() > 0);
        }
Example #17
0
 public ThreadParams(StoreAction <T> store,
                     ActionWithData <T> action,
                     StopCondition <T> closeConnectionCondition)
 {
     this.store  = store;
     this.action = action;
     this.closeConnectionCondition = closeConnectionCondition;
 }
        public void TestGetNowWatching_CountNotNull()
        {
            var storeAction = new StoreAction();
            var result      = storeAction.PopularGoods();

            // TODO: Add your test code here
            Assert.IsTrue(result?.Count() > 0);
        }
        public void TestGetGoodsByGroup_Good()
        {
            var storeAction = new StoreAction();
            var groupId     = storeAction.GetGroups().OrderByDescending(s => s.id).First().id;
            var result      = storeAction.GetGoodsByGroup(groupId);

            // TODO: Add your test code here
            Assert.IsTrue(result?.Count() > 0);
        }
        private void OnAddCity(City city)
        {
            var rnd = new Random();

            CityId i         = CityId.NewCityId(rnd.Next());
            var    amsterdam = new City(id: i, name: "Amsterdam " + i.Item);

            //let amsterdam = { City.Id = CityId(020); Name = "Amsterdam"};
            Store.Dispatch(StoreAction.NewCityAdded(amsterdam));
        }
        public ActionResult _partialGoods()
        {
            var store = new StoreAction();
            var model = new GoodsShortViewModel();

            model.goods = store.GetAllGoods().Select(s => new GoodsShortView {
                id = s.id, name = s.name, price = s.price, groupName = s.groupName
            }).ToList();
            return(PartialView(model));
        }
Example #22
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StoreLabelsRequest"/> class.
        /// </summary>
        /// <remarks>
        /// Creates a new <see cref="StoreLabelsRequest"/>.
        /// </remarks>
        /// <param name="action">The store action to perform.</param>
        /// <param name="labels">The custom keywords to add, remove or set on the message.</param>
        /// <exception cref="System.ArgumentNullException">
        /// <paramref name="labels"/> is <c>null</c>.
        /// </exception>
        public StoreLabelsRequest(StoreAction action, IEnumerable <string> labels)
        {
            if (labels == null)
            {
                throw new ArgumentNullException(nameof(labels));
            }

            Labels = labels as ISet <string> ?? new HashSet <string> (labels);
            Action = action;
        }
Example #23
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StoreFlagsRequest"/> class.
        /// </summary>
        /// <remarks>
        /// Creates a new <see cref="StoreFlagsRequest"/>.
        /// </remarks>
        /// <param name="action">The store action to perform.</param>
        /// <param name="keywords">The custom keywords to add, remove or set on the message.</param>
        /// <exception cref="System.ArgumentNullException">
        /// <paramref name="keywords"/> is <c>null</c>.
        /// </exception>
        public StoreFlagsRequest(StoreAction action, IEnumerable <string> keywords)
        {
            if (keywords == null)
            {
                throw new ArgumentNullException(nameof(keywords));
            }

            Keywords = keywords as ISet <string> ?? new HashSet <string> (keywords);
            Action   = action;
        }
 public RenderPassColorAttachmentDescriptor(
     TextureView attachment,
     LoadAction loadAction   = LoadAction.Clear,
     StoreAction storeAction = StoreAction.Store)
 {
     Guard.NotNull(attachment, nameof(attachment));
     Attachment  = attachment;
     LoadAction  = loadAction;
     StoreAction = storeAction;
     ClearColor  = new Color4(0.0f, 0.0f, 0.0f, 1.0f);
 }
Example #25
0
        public void ProcessRequest(HttpContext context)
        {
            string action = context.Request["action"];

            if (string.IsNullOrEmpty(action) || Store.Action(action) == StoreAction.Read)
            {
                this.ReturnData(context);
                return;
            }

            StoreResponseData sr = new StoreResponseData();

            try
            {
                NorthwindDataContext db          = new NorthwindDataContext();
                StoreDataHandler     dataHandler = new StoreDataHandler(context);
                List <Supplier>      dataList    = dataHandler.ObjectData <Supplier>();
                StoreAction          storeAction = Store.Action(action);

                foreach (Supplier supplier in dataList)
                {
                    if (storeAction == StoreAction.Destroy)
                    {
                        db.Suppliers.Attach(supplier);
                        db.Suppliers.DeleteOnSubmit(supplier);
                    }
                    else if (storeAction == StoreAction.Update)
                    {
                        db.Suppliers.Attach(supplier);
                        db.Refresh(RefreshMode.KeepCurrentValues, supplier);
                    }
                    else if (storeAction == StoreAction.Create)
                    {
                        db.Suppliers.InsertOnSubmit(supplier);
                    }
                }

                db.SubmitChanges();

                if (storeAction != StoreAction.Destroy)
                {
                    sr.Data = JSON.Serialize(dataList);
                    sr.Return();
                    return;
                }
            }
            catch (Exception e)
            {
                sr.Success = false;
                sr.Message = e.Message;
            }

            sr.Return();
        }
 public RenderPassColorAttachmentDescriptor(
     TextureView attachment,
     LoadAction loadAction,
     StoreAction storeAction,
     Color4 clearColor)
 {
     Guard.NotNull(attachment, nameof(attachment));
     Attachment  = attachment;
     LoadAction  = loadAction;
     StoreAction = storeAction;
     ClearColor  = clearColor;
 }
Example #27
0
        public void TestBasket()
        {
            var customer = new CustomerAction(8);
            var store    = new StoreAction();

            customer.ClearBasket();

            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement());
            Assert.IsTrue(customer.GetBasket().Count() == 2);
            customer.DelBasket(customer.GetBasket().First().id);
            Assert.IsTrue(customer.GetBasket().Count() == 1);
        }
Example #28
0
 /// <inheritdoc/>
 public override int GetHashCode()
 {
     unchecked
     {
         int hashCode = Texture?.GetHashCode() ?? 0;
         hashCode = (hashCode * 397) ^ ClearDepth.GetHashCode();
         hashCode = (hashCode * 397) ^ ClearStencil.GetHashCode();
         hashCode = (hashCode * 397) ^ LoadAction.GetHashCode();
         hashCode = (hashCode * 397) ^ StoreAction.GetHashCode();
         hashCode = (hashCode * 397) ^ MipLevel.GetHashCode();
         hashCode = (hashCode * 397) ^ Slice.GetHashCode();
         return(hashCode);
     }
 }
        private void GetChildGroups(long groupId, ref List <long> groups)
        {
            groups.Add(groupId);
            var store       = new StoreAction();
            var childGroups = store.GetGroups().Where(s => s.parentId == groupId).Select(s => s.id).ToList();

            if (childGroups?.Count() > 0)
            {
                foreach (var id in childGroups)
                {
                    GetChildGroups(id, ref groups);
                }
            }
        }
Example #30
0
        public void TestConfirmPayForAll(long userId)
        {
            var customer = new CustomerAction(userId);
            var store    = new StoreAction();

            customer.ClearBasket();
            Assert.AreEqual(customer.GetBasket().Count(), 0);
            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement());

            var fastPayModel = GenerateBasketElement(true);
            var fastPayId    = customer.AddBasket(fastPayModel).packId;
            var packId       = customer.AddBasket(GenerateBasketElement()).packId;
            var price        = store.GetAllGoods().First(s => s.id == fastPayModel.goodId).price;
            var total        = price * fastPayModel.count;
            var payModel     = new PayModel
            {
                packId            = fastPayId,
                countInBasket     = 1,
                payDate           = DateTime.Now,
                transactionNumber = Guid.NewGuid().ToString(),
                totalSumm         = total
            };

            customer.Pay(payModel);
            Assert.AreEqual(customer.GetOrders().Where(s => s.packId == fastPayId).Count(), 1);

            customer.AddBasket(GenerateBasketElement(true));
            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement(true));
            Assert.AreEqual(customer.GetBasket().Count(), 4);
            Assert.IsTrue(customer.GetOrders().Count() > 0);

            var basket    = customer.GetBasket();
            var payModel2 = new PayModel
            {
                packId            = (long)basket.Select(s => s.packId).Distinct().Single(),
                countInBasket     = 4,
                payDate           = DateTime.Now,
                transactionNumber = Guid.NewGuid().ToString(),
                totalSumm         = basket.Sum(s => s.summTotal).Value
            };

            customer.Pay(payModel2);
            Assert.AreEqual(customer.GetOrders().Where(s => s.packId == packId).Count(), 4);

            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement(true));
            Assert.IsTrue(customer.GetBasket().Count() == 1);
        }
Example #31
0
        public void TestFastPay()
        {
            var customer = new CustomerAction(8);
            var store    = new StoreAction();

            customer.ClearBasket();

            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement());
            var payPackId = customer.AddBasket(GenerateBasketElement(true));

            customer.AddBasket(GenerateBasketElement());
            customer.AddBasket(GenerateBasketElement());
            Assert.IsTrue(customer.GetBasket().Where(s => s.packId == payPackId.packId).Count() == 1);
        }
 internal BeforeDirectEventArgs(string action, string data, JToken parameters)
 {
     this.action = Store.Action(action);
     this.data = data;
     this.parameters = parameters;
 }
        public BeforeStoreChangedEventArgs(string action, string jsonData)
        {
            this.jsonData = jsonData;
		    this.action = Store.Action(action);
		    this.cancel = false;
        }