public void approve_discrepency(HttpContext context)
        {
            User user = getUserByAccessToken(context.Request.Form["access_token"]);
            Message message = new Message(false);

            if (user != null)
            {
                if (user.user_type != 5 || user.user_type != 6)
                {
                    DiscrepencyController discrepencyController = new DiscrepencyController();
                    String[] id = context.Request.Form.GetValues("id");

                    for (int i = 0; i < id.Length; i++)
                    {
                        discrepencyController.actionApproveDiscrepancies(Convert.ToInt32(id[i]));
                    }
                    message.condition = true;
                    message.message = "Successfully Approved.";
                } else {
                    message.message = "Access denied!";
                }
            }
            else {
                message.message = "User token is invilid!";
            }

            context.Response.Write(JsonConvert.SerializeObject(message));
        }
        protected void ui_save_button_Click(object sender, EventArgs e)
        {
            DiscrepencyController discrepancyController = new DiscrepencyController();
            Discrepancy discrepancy = new Discrepancy();
            if (String.IsNullOrEmpty(ui_stationery_hidden.Value) || String.IsNullOrEmpty(ui_quantity_textbox.Text)) {
                Response.Cookies.Add(new HttpCookie("flash_message", "Field(s) marked with * can't be empty.") { Path = "/" });
                Response.Cookies.Add(new HttpCookie("flash_css", "alert alert-error") { Path = "/" });
                return;
            }

            discrepancy.stationery = Convert.ToInt32(ui_stationery_hidden.Value);
            try
            {
                discrepancy.quantity = Convert.ToInt32(ui_quantity_textbox.Text);
                if (discrepancy.quantity < 0) {
                    throw new Exception();
                }
            }
            catch (Exception ex) {
                Response.Cookies.Add(new HttpCookie("flash_message", "Quantity should be only number.") { Path = "/" });
                Response.Cookies.Add(new HttpCookie("flash_css", "alert alert-error") { Path = "/" });
                Response.Redirect(Request.RawUrl);
            }
            discrepancy.remark = ui_remark_textboxt.Text;

            discrepancyController.actionCreateNewDiscrepancy(discrepancy);

            Response.Redirect("DiscrepancyList.aspx");
        }
        public void get_descrepencies(HttpContext context)
        {
            User user = getUserByAccessToken(context.Request.Form["access_token"]);

            if(user == null){return;}
            List<Supervisor_Discrepancy_View> ds = new List<Supervisor_Discrepancy_View>();
            DiscrepencyController discripencyController = new DiscrepencyController();
            switch (user.user_type) {
                case 5:
                    ds = discripencyController.actionGetDiscrepanciesForStoreSupervisor();
                    break;
                case 6:
                    ds = discripencyController.actionGetDiscrepanciesForStoreManager();
                    break;
                default:
                    break;
            }
            List<DiscrepencyViewModel> dvs = new List<DiscrepencyViewModel>();
            foreach (Supervisor_Discrepancy_View d in ds)
            {
                DiscrepencyViewModel vm = new DiscrepencyViewModel();
                vm.id = d.id;
                vm.stationery_id = d.stationery;
                vm.stationery_name = d.stationery_name;
                vm.quantity = d.quantity;
                vm.price = d.price;
                vm.totalprice = d.totalprice;
                vm.datetime_reported = ((DateTime)d.datetime_reported).ToString(" dd/ MM/ yyyy");
                vm.remark = d.remark;
                dvs.Add(vm);
            }

            context.Response.Write(JsonConvert.SerializeObject(dvs));
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            discrepancyController = new DiscrepencyController();
            if (!Page.IsPostBack)
            {

                User user = (User)Session["user"];
                if (user == null || user.user_type != 5 && user.user_type != 6)
                {
                    Response.Redirect("~/Login.aspx");
                }
                id = user.user_type;

                if (id == 5)
                {
                    discrepencies = discrepancyController.actionGetDiscrepanciesForStoreSupervisor();
                    discrepancyListView.DataSource = discrepencies;
                    discrepancyListView.DataBind();
                }
                else if (id == 6)
                {
                    discrepencies = discrepancyController.actionGetDiscrepanciesForStoreManager();
                    discrepancyListView.DataSource = discrepencies;
                    discrepancyListView.DataBind();
                }
            }
            //discrepancyListView.DataBind();
        }