Ejemplo n.º 1
0
 private void UpdateLoop()
 {
     while (true)
     {
         if (Dirty)
         {
             lock (InternalStatus)
             {
                 var data = InternalStatus.ToArray();
                 dispatcher.Invoke(() =>
                 {
                     for (int idx = 0; idx < data.Length; idx += 1)
                     {
                         if (idx >= Status.Count)
                         {
                             Status.Add(data[idx]);
                         }
                         else if (Status[idx] != data[idx])
                         {
                             Status[idx] = data[idx];
                         }
                     }
                 });
                 Dirty = false;
             }
         }
         Thread.Sleep(1000);
     }
 }
        public async Task <IActionResult> Edit([Bind("ID,FirstName,LastName,City,PostCode,Address")] UserDetailViewModel userDetailViewModel)
        {
            var myUser = await GetUser();

            InternalStatus result = _userDetailService.Edit(userDetailViewModel, myUser);

            return(Result(result, "Edited!"));
        }
Ejemplo n.º 3
0
 public IActionResult Edit([Bind("ID,Category,Name,Description,Price,Quantity")] ProductDetailsViewModel productViewModel)
 {
     if (ModelState.IsValid)
     {
         InternalStatus result = _productService.Edit(productViewModel);
         return(Result(result, "Edited!"));
     }
     return(View(productViewModel));
 }
Ejemplo n.º 4
0
        public async Task <IActionResult> Create([Bind("ID,Category,Name,Description,Price,Quantity")] ProductDetailsViewModel productViewModel, IFormFile fileFromSite)
        {
            if (ModelState.IsValid)
            {
                InternalStatus result = await _productService.CreateAsync(productViewModel, fileFromSite);

                return(Result(result, "Created!"));
            }

            return(View(productViewModel));
        }
Ejemplo n.º 5
0
        [Authorize]         // For Admin and User
        public async Task <IActionResult> Cancel(Guid id)
        {
            InternalStatus result = await _productService.CancelAsync(id);

            // New Way For Status OK :(
            if (result == InternalStatus.EverythingOk)
            {
                TempData["CancelOrderMessageColor"] = "alert alert-dismissible alert-success";
                TempData["CancelOrderMessage"]      = "Transaction Approved! You Canceled This Order!";
                return(Redirect("/UserDetail/ShowBoughtProducts"));
            }

            return(Result(result, "This Should Never Happen!"));
        }
        public async Task <IActionResult> Add(Guid id, int productQuantity)
        {
            InternalStatus result = await _shoppingCartService.AddProduct(id, await GetUser(), productQuantity);

            // New Way For Status OK :(
            if (result == InternalStatus.EverythingOk)
            {
                TempData["ProductMessageColor"] = "alert alert-dismissible alert-success";
                TempData["ProductMessage"]      = "Product Added To Cart!";
                return(Redirect("/Product/Index"));
            }

            return(Result(result, "This Should Never Happen!"));
        }
Ejemplo n.º 7
0
        public static ExternalStatus MapFrom(InternalStatus status)
        {
            switch (status)
            {
            case InternalStatus.Unallocated:
            case InternalStatus.UnderConsideration:
                return(ExternalStatus.InProgress);

            case InternalStatus.Approved:
            case InternalStatus.Refused:
                return(ExternalStatus.Completed);

            default: throw new Exception("Unknown status");
            }
        }
        private IActionResult Result(InternalStatus result, string okStatusMessage)
        {
            switch (result)
            {
            case InternalStatus.EverythingOk:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-success";
                TempData["ShoppingCartMessage"]      = okStatusMessage;
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.DatabaseError:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Transaction Rejected! Database Error!";
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.ProductNotFound:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Transaction Rejected! Product Not Found!";
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.OrderNotFound:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Transaction Rejected! Order Not Found!";
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.UserDetailNotFound:
                return(Redirect("/UserDetail/Create"));

            case InternalStatus.QuantityToSmall:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Transaction Rejected! Quantity To Small!";
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.BadFileExtension:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Transaction Rejected! I Need A .png File!";
                return(Redirect("/ShoppingCart/Index"));

            case InternalStatus.DefaultOption:
                TempData["ShoppingCartMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ShoppingCartMessage"]      = "Not Implemented! Contact With Developer!";
                return(Redirect("/ShoppingCart/Index"));

            default:
                TempData["ProductMessageColor"] = "alert alert-dismissible alert-danger";
                TempData["ProductMessage"]      = "Not Implemented! Contact With Developer!";
                return(Redirect("/ShoppingCart/Index"));
            }
        }
Ejemplo n.º 9
0
        public void SetProgress(int id, string msg, int progress)
        {
            lock (InternalStatus)
            {
                Dirty = true;
                while (id >= InternalStatus.Count)
                {
                    InternalStatus.Add(new CPUStatus());
                }

                InternalStatus[id] = new CPUStatus()
                {
                    ID = id, Msg = msg, Progress = progress
                };
            }
        }
        public async Task <IActionResult> Create([Bind("ID,FirstName,LastName,City,PostCode,Address")] UserDetailViewModel userDetailViewModel)
        {
            if (ModelState.IsValid)
            {
                var myUser = await GetUser();

                if (_context.UserDetailModel.FirstOrDefault(x => x.ID == myUser.Id) != null)
                {
                    return(Redirect("/UserDetail/Edit"));
                }

                InternalStatus result = await _userDetailService.CreateAsync(userDetailViewModel, myUser);

                return(Result(result, "Saved!"));
            }

            return(View(userDetailViewModel));
        }
Ejemplo n.º 11
0
        public static string ConvertInternalStatusClass(InternalStatus s)
        {
            switch (s)
            {
            case InternalStatus.Done:
            case InternalStatus.Waiting:
                return("btn-success");

            case InternalStatus.Debugging:
            case InternalStatus.Investigating:
            case InternalStatus.Reproducing:
                return("btn-info");

            case InternalStatus.ToDo:
                return("btn-danger");

            default:
                return("btn-warning");
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Adds a rule regarding the specified current, desired and outcome <see cref="InternalStatus"/>es to 
        /// the <see cref="InternalStatusEngine"/>.
        /// </summary>
        /// <param name="current">The current <see cref="InternalStatus"/>.</param>
        /// <param name="desired">The desired <see cref="InternalStatus"/>.</param>
        /// <param name="outcome">The outcome <see cref="InternalStatus"/>.</param>
        public void AddRule(InternalStatus current, InternalStatus desired, InternalStatus outcome)
        {
            string key = ParseKey(current, desired);

            rules[key] = outcome;
        }
        public async Task <IActionResult> ClearCart()
        {
            InternalStatus result = await _shoppingCartService.ClearCart(await GetUser());

            return(Result(result, "The Action Was Successful!"));
        }
Ejemplo n.º 14
0
        public IActionResult DeleteConfirmed(Guid id)
        {
            InternalStatus result = _productService.Delete(id);

            return(Result(result, "Deleted!"));
        }
Ejemplo n.º 15
0
        public void Mapping_internal(InternalStatus internalStatus, ExternalStatus externalStatus)
        {
            var mappedStatus = StatusMapper.MapFrom(internalStatus);

            Assert.Equal(externalStatus, mappedStatus);
        }
        public async Task <IActionResult> Delete(Guid shoppingCartID)
        {
            InternalStatus result = await _shoppingCartService.RemoveProduct(shoppingCartID, await GetUser());

            return(Result(result, "The Action Was Successful!"));
        }
Ejemplo n.º 17
0
 /// <summary>
 /// Returns a string comprising the specified current <see cref="InternalStatus"/> and desired 
 /// <see cref="InternalStatus"/>.
 /// </summary>
 /// <param name="current">The current <see cref="InternalStatus"/>.</param>
 /// <param name="desired">The desired <see cref="InternalStatus"/>.</param>
 /// <returns>
 /// The string comprising the specified current and the desired 
 /// <see cref="InternalStatus"/>es.
 /// </returns>
 private static string ParseKey(InternalStatus current, InternalStatus desired)
 {
     return string.Format("{0} : {1}", current, desired);
 }
Ejemplo n.º 18
0
        [Authorize]         // For Admin and User
        public async Task <IActionResult> Buy()
        {
            InternalStatus result = await _productService.BuyAsync(await GetUser());

            return(Result(result, "Transaction Approved! You bought it!"));
        }
Ejemplo n.º 19
0
        public async Task <IActionResult> Send(Guid id)
        {
            InternalStatus result = await _orderService.SendOrder(id);

            return(Result(result, "Transaction Approved!"));
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Changes the <see cref="InternalStatus"/> using the specified current and desired 
        /// <see cref="InternalStatus"/>es and returns the resultant <see cref="InternalStatus"/>.
        /// </summary>
        /// <param name="current">The current <see cref="InternalStatus"/>.</param>
        /// <param name="desired">The desired <see cref="InternalStatus"/>.</param>
        /// <returns>
        /// If the generated <see cref="InternalStatus"/> is not null then the generated 
        /// <see cref="InternalStatus"/> is returned; otherwise, the current 
        /// <see cref="InternalStatus"/> is returned.
        /// </returns>
        public InternalStatus ChangeStatus(InternalStatus current, InternalStatus desired)
        {
            string key = ParseKey(current, desired);

            var newstatus = rules[key] as InternalStatus;

            return newstatus ?? current;
        }
Ejemplo n.º 21
0
 /// <summary>
 /// Adds a rule regarding the specified current and desired <see cref="InternalStatus"/>es to 
 /// the <see cref="InternalStatusEngine"/>.
 /// </summary>
 /// <param name="current">The current <see cref="InternalStatus"/>.</param>
 /// <param name="desired">The desired <see cref="InternalStatus"/>.</param>
 public void AddRule(InternalStatus current, InternalStatus desired)
 {
     AddRule(current, desired, desired);
 }