Example #1
0
        public IHttpActionResult ManageInsertVipMember(VipMember vipMember)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            db.VipMembers.Add(vipMember);
            db.SaveChanges();

            return(Ok("Insert Success"));
        }
Example #2
0
        public IHttpActionResult ManageUpdateVipMember(VipMember vipMember)
        {
            VipMember updatedVipMember = db.VipMembers.FirstOrDefault(v => v.CustomerId == vipMember.CustomerId && v.SellerId == vipMember.SellerId);

            if (updatedVipMember != null)
            {
                updatedVipMember = vipMember;
                db.SaveChanges();
                return(Ok("更新成功!"));
            }

            return(BadRequest("请重新操作!"));
        }
Example #3
0
        public IHttpActionResult InsertVipMember(VipRequest data)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var session = HttpContext.Current.Request.Cookies.Get("sessionId");

            if (session == null)
            {
                return(BadRequest("请先登录!"));
            }

            int customerId = CustomerSession.GetCustomerIdFromSession(int.Parse(session.Value));

            if (customerId < 0)
            {
                return(BadRequest("请先登录!"));
            }

            var sellerId = ShopNameService.GetSellerIdByShopName(data.ShopName);

            if (_db.VipMembers.Find(customerId, sellerId) == null)
            {
                VipMember vipMember = new VipMember
                {
                    CustomerId    = customerId,
                    SellerId      = sellerId,
                    DiscountRatio = data.DiscountRatio,
                    ValidThrough  = data.ValidThrough,
                };


                _db.VipMembers.Add(vipMember);
                _db.SaveChanges();

                return(Ok("你已经成为会员了!"));
            }

            var updateVipMember = _db.VipMembers.FirstOrDefault(v => v.CustomerId == customerId && v.SellerId == sellerId);

            if (updateVipMember != null)
            {
                updateVipMember.DiscountRatio = data.DiscountRatio;
                updateVipMember.ValidThrough  = data.ValidThrough;
                _db.SaveChanges();
                return(Ok("会员延期成功!"));
            }

            return(BadRequest("会员获取失败,请找系统管理员询问!"));
        }
Example #4
0
        public void UpdateVIPBonus()
        {
            bool   HasUseBirthdayDiscount = false;
            int    Bonus     = 0;
            string vip_id    = string.IsNullOrEmpty(Request["vip_id"]) ? "" : Request["vip_id"];
            string LastBonus = string.IsNullOrEmpty(Request["LastBonus"]) ? "0" : Request["LastBonus"];

            bool.TryParse(Request["HasUseBirthdayDiscount"], out HasUseBirthdayDiscount);
            int.TryParse(LastBonus, out Bonus);
            bool BonusResult = VipMember.UpdateVipBonus(vip_id, Bonus, HasUseBirthdayDiscount);
            var  result      = new { result = BonusResult };

            ShowResultOnPage(JsonConvert.SerializeObject(result));
        }
Example #5
0
        public void LoadOrder()
        {
            if (vip_id.Length == 0)
            {
                return;
            }

            VipOrderDT = VipMember.GetOrderByVIP(vip_id);

            foreach (DataRow row in VipOrderDT.Rows)
            {
                int Amount = int.Parse(row["Amount"].ToString());
                TotalOrderAmount += Amount;
            }
        }
Example #6
0
        public void GetVipMember()
        {
            string     vip_id   = string.IsNullOrEmpty(Request["vip_id"]) ? "" : Request["vip_id"];
            string     mobile   = string.IsNullOrEmpty(Request["mobile"]) ? "" : Request["mobile"];
            MemberData MD       = VipMember.GetMemberData(vip_id, mobile);
            bool       VipExist = false;

            if (!string.IsNullOrEmpty(MD.create_date))
            {
                VipExist = true;
            }

            var result = new { result = VipExist, data = MD };

            ShowResultOnPage(JsonConvert.SerializeObject(result));
        }
Example #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            edie_vip_member.Visible = false;
            GetHttpRequest();

            if (act == "_add")
            {
                if (mobile == "")
                {
                    string errorMsg = "開卡一定要填行動電話";
                    Response.Redirect("pos_result.aspx?result=" + false + "&errorMsg=" + errorMsg);
                    return;
                }

                bool HasTheSameVIP = VipMember.CheckHasTheSameVIP(mobile);
                if (HasTheSameVIP)
                {
                    Response.Redirect("pos_result.aspx?result=" + false);
                }
                else
                {
                    birthday = string.Format("1999-{0}-{1}", Date_Month, Date_Day);
                    bool result = VipMember.add_pos_vip(vip_id, name, tel, mobile, email, birthday);
                    Response.Redirect("pos_result.aspx?result=" + result);
                }
            }
            else if (act == "_edit")
            {
                birthday = string.Format("1999-{0}-{1}", Date_Month, Date_Day);
                bool result = VipMember.edit_pos_vip(vip_id, name, tel, mobile, email, birthday);
                Response.Redirect("pos_result.aspx?result=" + result);
            }
            else if (act == "exchage")
            {
                bool result = VipMember.exchage_pos_vip(vip_id, new_vip_id);
                if (result)
                {
                    string msg = string.Format("新卡號:{0}", new_vip_id);
                    Log.Add(10, vip_id, msg, "VIP補卡", "", PosNo);
                }

                Response.Redirect("pos_result.aspx?result=" + result);
            }
            else if (act == "CancelVIP")
            {
                bool UpdateResult = VipMember.CancelVIP(vip_id);
                var  result       = new { result = UpdateResult };
                ShowResultOnPage(JsonConvert.SerializeObject(result));
            }
            else if (act == "CheckMobile")
            {
                bool HasTheSameVIP = VipMember.CheckHasTheSameVIP(mobile);
                var  result        = new { result = true, HasTheSameVIP = HasTheSameVIP };
                ShowResultOnPage(JsonConvert.SerializeObject(result));
            }
            else if (act == "GetOrderItem")
            {
                DataTable dt        = VipMember.GetOrderItemByOrderID(Request["OrderID"]);
                string    OrderItem = GetOrderItemString(dt);
                var       result    = new { result = dt.Rows.Count > 0, data = OrderItem };
                ShowResultOnPage(JsonConvert.SerializeObject(result));
            }
            else if (act == "VipExtend")
            {
                bool UpdateResult = VipMember.VipExtend(vip_id);
                if (UpdateResult)
                {
                    PosNoBiding();
                    Log.Add(9, vip_id, "上次的有效期限:" + valid_date, "VIP有效期限延長", ClerkID, PosNo);
                }
                var result = new { result = UpdateResult };
                ShowResultOnPage(JsonConvert.SerializeObject(result));
            }
            else if (vip_id != "")
            {
                vip_open.Visible        = false;
                edie_vip_member.Visible = true;
                DataTable dt = VipMember.get_pos_vip(vip_id);

                if (dt.Rows.Count > 0)
                {
                    VipInfoDT = dt;
                    act       = "edit";
                    SetValueFormDT(dt);
                    //判斷是否可以展期
                    if (VipMember.FindLastYearTotalAmountByVip(vip_id, valid_date) >= 5000)
                    {
                        ShowExtend = true;
                    }
                }
                else
                {
                    act = "add";
                }
            }
            else if (mobile != "")
            {
                vip_open.Visible        = false;
                edie_vip_member.Visible = true;
                DataTable dt = VipMember.get_pos_vip_by_mobile(mobile);
                act = "edit";
                if (dt.Rows.Count > 0)
                {
                    VipInfoDT = dt;
                    SetValueFormDT(dt);
                    //判斷是否可以展期
                    if (VipMember.FindLastYearTotalAmountByVip(vip_id, valid_date) >= 5000)
                    {
                        ShowExtend = true;
                    }
                }
            }

            LoadOrder();
        }
Example #8
0
        static void Main()
        {
            ClassA interfaceClass = new ClassA();

            interfaceClass.MyNumber = 10;
            interfaceClass.InterfaceMethod();

            Customer  c1 = new Customer();
            Customer2 c2 = new Customer2();

            c1.Print();
            c2.Print();


            //AbstractImplementation ab = new AbstractImplementation();
            AbstractImplementation.NonAbstractClass nab = new AbstractImplementation.NonAbstractClass();
            nab.PrintMessage();
            nab.PrintMessageAbstract();

            MemberPoly[] gymMembers = new MemberPoly[5];

            gymMembers[0] = new RegularMemberPoly("Good member", "Tochukwu", 03, 2017);
            gymMembers[1] = new RegularMemberPoly("Good member", "Stanley", 04, 2019);
            gymMembers[2] = new VIPMemberPoly("Chijioke", 01, 2010);
            gymMembers[3] = new VIPMemberPoly("Marvellous", 02, 2017);
            gymMembers[4] = new VIPMemberPoly("Idam", 05, 2020);

            foreach (MemberPoly m in gymMembers)
            {
                m.CalculateAnnualFee();
                Console.WriteLine(m.ToString());
                if (m.GetType() == typeof(VIPMemberPoly))
                {
                    Console.WriteLine("yes, VIP");
                }
                else
                {
                    Console.WriteLine("no, not VIP");
                }
            }


            MemberInheritanceDemo gymUser  = new MemberInheritanceDemo();
            RegularMember         gymer    = new RegularMember("very good", "Chijioke", 40, 50);
            VipMember             vipGymer = new VipMember();

            gymer.CalculateAnnualFee();
            Console.WriteLine(gymer.ToString());

            int v = 2;

            int[] r = { 1, 2, 3, };

            ValueAndReference valRef = new ValueAndReference();

            Console.WriteLine("v before = {0}", v);
            valRef.PassByValue(v);
            Console.WriteLine("v before = {0}", v);
            Console.WriteLine("\n\n");

            Console.WriteLine("r[0] before = {0}", r[0]);
            valRef.PassByReference(r);
            Console.WriteLine("r[0] after = {0}", r[0]);

            ArraysLists arr = new ArraysLists();

            arr.PrintFirstElement(arr.TheArray);

            arr.PrintFirstElement(arr.TheList);

            int[] myNewArray = arr.ReturnUserInput();
            Console.WriteLine(myNewArray);

            var myNewList = arr.ReturnUserInputList();

            //Console.WriteLine(myNewList);

            foreach (var item in myNewList)
            {
                Console.Write(item + ", ");
            }

            arr.PrintNames("Chijioke", "Gloria", "Wisest");

            // Access non static members from StaticClass external class
            StaticClass nonStaticMembers = new StaticClass();

            Console.WriteLine(nonStaticMembers.message);
            nonStaticMembers.Name = "Chijioke";
            nonStaticMembers.DisplayName();

            // Access static members from StaticClass external class
            StaticClass.Age = 33;
            Console.WriteLine(StaticClass.greetings);
            StaticClass.DisplayAge();

            int pay;

            Staff staff1 = new Staff("Peter");

            staff1.HoursWorked = 160;
            pay = staff1.CalculatePay(1000, 400);
            Console.WriteLine("Pay = {0}", pay);

            Staff staff2 = new Staff("Jane", "Lee");

            staff2.HoursWorked = 100;
            staff2.StaffAge    = 33;
            pay = staff2.CalculatePay();
            Console.WriteLine("Pay = {0} and Age = {1}", pay, staff2.StaffAge);

            Staff staff3 = new Staff("Carol");

            staff3.StaffAge    = 26;
            staff3.HoursWorked = -10;
            pay = staff3.CalculatePay();
            Console.WriteLine("{0} is {1} years old, his pay = {2}", staff3, staff3.StaffAge, pay);
            Console.WriteLine("{0}", staff3);
        }
Example #9
0
        public void ReturnePurchase(string OrderID, string PosNo, string ClerkID, string ReturnType)
        {
            string[] ItemNo        = JsonConvert.DeserializeObject <string[]>(Request["ItemNoList"]);
            int      AllowanceID   = 0;
            string   PaperReturnID = "";

            if (!string.IsNullOrEmpty(Request["AllowanceID"]))
            {
                AllowanceID = int.Parse(Request["AllowanceID"]);
            }

            //紙本刷退
            if (!string.IsNullOrEmpty(Request["PaperReturnID"]))
            {
                PaperReturnID = Request["PaperReturnID"];
            }

            bool      status = false;
            DataTable dt     = GetOrderInfo(OrderID);

            if (dt.Rows.Count > 0)
            {
                //判斷需不需要退回多少紅利
                int ReturnBonus = 0;
                int Amount      = 0;
                if (dt.Rows[0]["VIP"] != System.DBNull.Value)
                {
                    vip_id = dt.Rows[0]["VIP"].ToString();
                    //剩下要結帳的金額
                    int.TryParse(Request["Amount"].ToString(), out Amount);
                    int.TryParse(dt.Rows[0]["Amount"].ToString(), out ReturnBonus);
                    //前訂單的金額減掉這次訂單的金額等於要退還的紅利
                    ReturnBonus = ReturnBonus - Amount;
                }

                var aa = POS_Library.ShopPos.NoProduct.SetSalePackageBack(int.Parse(OrderID), _areaId, ClerkName);
                if (aa == true)
                {
                    Log.Add(0, OrderID, "5", "OrderStep:5,商品退回不可銷庫存完成", ClerkID, PosNo);

                    StringBuilder sb = new StringBuilder();
                    Dictionary <string, object> param = new Dictionary <string, object>();
                    //判斷有沒有折讓編號
                    if (AllowanceID == 0)
                    {
                        sb.Append("update Orders set Status=2,SyncedTime=null where OrderID=@OrderID; ");
                    }
                    else
                    {
                        sb.Append("update Orders set Status=6,SyncedTime=null where OrderID=@OrderID; ");
                        sb.Append("insert into PosClient..Allowances(OrderID,Year,Month,AllowanceID) values(@OrderID,@Year,@Month,@AllowanceID) ");
                        param.Add("Year", DateTime.Now.Year);
                        param.Add("Month", DateTime.Now.Month);
                        param.Add("AllowanceID", AllowanceID);
                    }


                    sb.Append("Insert into Returns(OrderID,Type,PosNo,ClerkID,ReturnTime) ");
                    sb.Append("values(@OrderID,@ReturnType,@PosNo,@ClerkID,GETDATE()); ");

                    //新增發票作廢,有可能會多張
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        sb.Append("Insert into NullifiedInvoices(PosNo,InvoiceNo,ClerkID,NullifiedTime)  ");
                        sb.Append(string.Format("values(@PosNo,@InvoiceNo{0},@ClerkID,getdate()); ", i));
                        param.Add("InvoiceNo" + i, dt.Rows[i]["InvoiceNo"].ToString());
                    }

                    param.Add("OrderID", OrderID);
                    param.Add("PosNo", PosNo);
                    param.Add("ClerkID", ClerkID);
                    param.Add("ReturnType", ReturnType);

                    //寫入紙本刷退紀錄
                    if (string.IsNullOrEmpty(PaperReturnID) == false)
                    {
                        sb.Append("Insert Into [PosClient]..[ReturnCreditCardPaper] (OrderID) values (@OrderID) ");
                        param.Add("PaperReturnID", PaperReturnID);
                    }

                    status = DB.DBNonQuery(sb.ToString(), param, "PosClient");

                    if (status)
                    {
                        #region 退紅利

                        //退紅利
                        if (ReturnBonus > 0)
                        {
                            MemberData MD    = VipMember.GetMemberData(vip_id, "");
                            int        Bonus = MD.bonus - ReturnBonus;
                            VipMember.UpdateVipBonus(vip_id, Bonus, false);
                        }
                        #endregion

                        if (ItemNo.Length > 0)
                        {
                            AddOrder();
                            return;
                        }
                    }
                }
                else
                {
                    status = aa;
                }
            }

            GetInvoiceNumber(PosNo);
            var result = new { result = status, NumberNow = InvoiceNumberNow, Remainder = InvoiceRemainder, OrderStep = 5 };
            ShowResultOnPage(JsonConvert.SerializeObject(result));
        }