Exemplo n.º 1
0
        /// <summary>
        /// 判断网站是否部署完必
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        private void Application_BeginRequest(object source, EventArgs e)
        {
            string      str     = WebConfigurationManager.AppSettings["Version"];
            HttpContext context = ((HttpApplication)source).Context;

            if ((context.Request.Url.ToString().IndexOf("/Install/Default.aspx", StringComparison.OrdinalIgnoreCase) < 0) && (context.Request.Url.ToString().IndexOf("/Install/Upgrade.aspx", StringComparison.OrdinalIgnoreCase) < 0))
            {
                if (string.IsNullOrEmpty(str) && context.Request.Url.GetLeftPart(UriPartial.Path).EndsWith(".aspx", StringComparison.OrdinalIgnoreCase))
                {
                    context.Response.Redirect("~/Install/Default.aspx", true);
                }
                string productVersion = fvInfo.ProductVersion;
                string str3           = DataBaseHandle.CurrentVersion();
                if ((str3 == "99.99.99.99") && (str == "0.9.8.0"))
                {
                    str3 = "0.9.8.0";
                }
                if ((productVersion.Length == 7) && (str3.Length == 7))
                {
                    productVersion = productVersion.Remove(productVersion.Length - 2, 2);
                    str3           = str3.Remove(str3.Length - 2, 2);
                    if ((string.IsNullOrEmpty(str3) || (DataConverter.CLng(str3.Replace(".", "")) < DataConverter.CLng(productVersion.Replace(".", "")))) && (context.Request.Url.GetLeftPart(UriPartial.Path).EndsWith(".aspx", StringComparison.OrdinalIgnoreCase) && (context.Request.Url.ToString().IndexOf("Install", StringComparison.CurrentCultureIgnoreCase) < 0)))
                    {
                        context.Response.Redirect("~/Install/Upgrade.aspx", true);
                    }
                }
            }
        }
        public void RemoveItemsFromStockList(BaseItem removeItem)
        {
            var removedItem = DataBaseHandle.stockItems.Find(x => x.Id == removeItem.Id);

            if (removedItem == null)
            {
                throw new System.Exception("Item does not exist");
            }

            DataBaseHandle.RemoveItemsFromStockList(removedItem);
        }
        /// <summary>
        /// Get Market Items list Action Handle
        /// </summary>
        /// <param name="vendorService"></param>
        /// <param name="uiHandle"></param>
        private static void GetMarketItemsAction(IVendorService vendorService, UIHandle uiHandle)
        {
            //Get current item on market for vendor
            var availableItems = vendorService.GetAvailableItems();

            // Show current items on market
            uiHandle.RenderListItemForVendor(availableItems);

            do
            {
                //Select Item
                string selectedItem = Console.ReadLine();

                if (selectedItem.ToLower() == "back")
                {
                    break;
                }

                char selectedBaseItem = Convert.ToChar(selectedItem);

                var      index = uiHandle.alphabet.IndexOf(selectedBaseItem);
                BaseItem selectedMarketItem = null;

                try
                {
                    selectedMarketItem = availableItems[index];

                    //Add item to stock list
                    vendorService.AddItemToStock(selectedMarketItem);

                    //Remove item from market list
                    DataBaseHandle.RemoveItemsFromMarketList(selectedMarketItem);

                    Console.WriteLine("Item added successfull, add another or press Back to action list !");
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Item selected not exists please try again");
                }
            } while (true);
        }
 /// <summary>
 /// Get current stock items
 /// </summary>
 /// <returns></returns>
 public List <BaseItem> GetStockItems()
 {
     return(DataBaseHandle.GetStockItems());
 }
 /// <summary>
 /// Get Available items current on market for vender
 /// </summary>
 /// <returns></returns>
 public List <BaseItem> GetAvailableItems()
 {
     return(DataBaseHandle.GetAvailableItemOnMarket());
 }
        static void Main(string[] args)
        {
            //Init Required Component & Service
            var container = Bootstraper.Initialize();
            var uiHandle  = new UIHandle();

            DataBaseHandle.Init();
            var vendorService   = container.Resolve <IVendorService>();
            var customerService = container.Resolve <ICustomerService>();

            do
            {
                uiHandle.RenderIndexPage();

                //Select Actions
                int selectedUserType = Convert.ToInt16(Console.ReadLine());

                switch (selectedUserType)
                {
                case 1:     //Vendor
                    #region Vendor Functions

                    do
                    {
                        // Show vendor actions
                        uiHandle.RenderVendorAction();

                        //Select Actions
                        int selectedAction = Convert.ToInt16(Console.ReadLine());

                        try
                        {
                            switch (selectedAction)
                            {
                            case 1:
                                GetMarketItemsAction(vendorService, uiHandle);
                                break;

                            case 2:
                                UpdateStockItemsInformation(vendorService, uiHandle);
                                break;

                            case 3:
                                break;
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    } while (true);
                    #endregion
                    continue;

                case 2:     //Customer
                    #region Customer Functions

                    do
                    {
                        uiHandle.RenderCustomerAction();

                        //Select Actions
                        int selectedAction = Convert.ToInt16(Console.ReadLine());

                        if (selectedAction == 2)
                        {
                            break;
                        }

                        var publishItems = customerService.GetPublishItems();

                        uiHandle.RenderPublishItem(publishItems);

                        RemoveStockItem(customerService, uiHandle, publishItems);
                    } while (true);
                    break;

                    #endregion
                default:
                    Console.WriteLine("User Type not exists");
                    break;
                }
            } while (true);
        }