//========================================
        // Update existing item
        //========================================
        private void UpdateItem()
        {
            int     id = 0;
            Boolean ok = false;

            while (!ok)
            {
                try
                {
                    Console.Write("Enter id to update item data");
                    id = int.Parse(Console.ReadLine());
                    ok = true;
                }
                catch
                {
                    ok = false;
                }
            }
            item c = dataItemBll.Search(id);

            show(c);
            //====================================================


            string choice = "n";

            if (c != null)
            {
                Console.WriteLine("Do you want to update information");
                choice = Console.ReadLine();
                if (choice == "y" || choice == "Y")
                {
                    Console.WriteLine("Id: {0}", c.ItemId);
                    Console.Write("Enter Description:");
                    c.Description = Console.ReadLine();


                    Boolean ok1 = false;
                    while (!ok1)
                    {
                        Console.Write("Enter price:");
                        try
                        {
                            c.Price = double.Parse(Console.ReadLine());
                            ok1     = true;
                        }
                        catch
                        {
                            ok1 = false;
                        }
                    }

                    //==========================================
                    Boolean ok3 = false;
                    while (!ok3)
                    {
                        Console.Write("Enter quantity:");
                        try
                        {
                            c.Quantity = int.Parse(Console.ReadLine());
                            ok3        = true;
                        }
                        catch
                        {
                            ok3 = false;
                        }
                    }

                    dataItemBll.updateItem();
                }
            }

            itemMenu();
        }
示例#2
0
        public ServiceModule() : base("v2")
        {
            Post["/users/register/"] = _ =>
            {
                var model = this.Bind <RequestUserModel>();
                if (model.User == null || model.Action == null)
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.JsonParseFail)));
                }
                if (model.Action != "Register")
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.ActionNotCorresponding)));
                }
                if (string.IsNullOrEmpty(model.User.UserName) || string.IsNullOrEmpty(model.User.Password))
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.InvalidParameter)));
                }
                //try
                {
                    return(Response.AsJson(_userBll.Register(model.User)));
                }
                //catch (Exception e)
                //{
                //	return Response.AsJson(ResultFactory.CreateUserResult(e));
                //}
            };

            Post["/users/login/"] = _ =>
            {
                var model = this.Bind <RequestUserModel>();
                if (model.User == null || model.Action == null)
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.JsonParseFail)));
                }
                if (model.Action != "Login")
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.ActionNotCorresponding)));
                }
                if (string.IsNullOrEmpty(model.User.UserName) || string.IsNullOrEmpty(model.User.Password))
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.InvalidParameter)));
                }
                //try
                {
                    var x = _userBll.Login(model.User);
                    return(Response.AsJson(x)
                           .WithCookie("Token", Token.Create(model.User.UserName, new TimeSpan(1, 0, 0, 0))));
                }
                //	catch (Exception e)
                //{
                //	return Response.AsJson(ResultFactory.CreateUserResult(e));
                //}
            };

            Post["/users/updatepassword"] = _ =>
            {
                var model = this.Bind <RequestUserModel>();
                if (model.User == null || model.Action == null)
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.JsonParseFail)));
                }
                string token;
                Request.Cookies.TryGetValue("Token", out token);
                if (token == null || !Token.Validate(token))
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.NotLoggedIn)));
                }
                if (model.Action != "UpdatePassword")
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.ActionNotCorresponding)));
                }
                if (string.IsNullOrEmpty(model.User.UserName) || string.IsNullOrEmpty(model.User.Password))
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(ResultCode.InvalidParameter)));
                }
                try
                {
                    return(Response.AsJson(_userBll.UpdatePassword(model.User)));
                }
                catch (Exception e)
                {
                    return(Response.AsJson(ResultFactory.CreateUserResult(e)));
                }
            };

            Get["/items/get/{query}/"] = paramerters =>
            {
                string token;
                Request.Cookies.TryGetValue("Token", out token);
                if (token == null || !Token.Validate(token))
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.NotLoggedIn)));
                }
                if (string.IsNullOrWhiteSpace(paramerters.query))
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.InvalidParameter)));
                }
                int page, length;
                if (!int.TryParse(Request.Query.Page, out page) | !int.TryParse(Request.Query.Length, out length))
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.InvalidParameter)));
                }
                //try
                {
                    ResultItemsModel x = _itemBll.Search(paramerters.query, page, length);
                    return(Response.AsJson(x));
                }

                //catch (Exception e)
                //{
                //	return Response.AsJson(ResultFactory.CreateItemsResult(e));
                //}
            };

            Post["/items/add/"] = _ =>
            {
                var model = this.Bind <RequestItemsModel>();
                if (model.Items == null || model.Action == null)
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.JsonParseFail)));
                }
                string token;
                Request.Cookies.TryGetValue("Token", out token);
                if (token == null || !Token.Validate(token))
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.NotLoggedIn)));
                }
                if (model.Action != "Add")
                {
                    return(Response.AsJson(ResultFactory.CreateItemsResult(ResultCode.ActionNotCorresponding)));
                }
                //try
                //{
                return(Response.AsJson(_itemBll.AddItems(model.Items, Token.ParseName(token))));
                //}

                //catch (Exception e)
                //{
                //    return Response.AsJson(ResultFactory.CreateItemsResult(e));
                //}
            };

            Get["/test/"] = _ => "done";
        }