protected override async Task OnParametersSetAsync()
        {
            _renderFragments = new QueryDictionary <RenderFragment>();
            foreach (var column in GridComponent.Grid.Columns)
            {
                // Name must have a non empty value
                if (string.IsNullOrWhiteSpace(column.Name))
                {
                    column.Name = Guid.NewGuid().ToString();
                }

                if (column.CreateComponentType != null)
                {
                    VariableReference reference = new VariableReference();
                    Children.Add(column.Name, reference);
                    _renderFragments.Add(column.Name, GridCellComponent <T> .CreateComponent(_sequence,
                                                                                             GridComponent, column.CreateComponentType, column, Item, null, true, reference));
                }
            }
            _tabGroups = GridComponent.Grid.Columns
                         .Where(r => !string.IsNullOrWhiteSpace(r.TabGroup) && _renderFragments.Keys.Any(s => s.Equals(r.Name)))
                         .Select(r => r.TabGroup).Distinct();

            foreach (var column in GridComponent.Grid.Columns)
            {
                if (((IGridColumn <T>)column).IsSelectColumn.IsSelectKey)
                {
                    var selectItem = await((IGridColumn <T>)column).SelectItemExpr(Item);
                    SelectItems.Add(column.Name, selectItem);
                }
            }

            _shouldRender = true;
        }
        public override void UpdateSelectItems()
        {
            Array enumValues = Enum.GetValues(typeof(T));

            SelectItems.Clear();
            foreach (object enumValue in enumValues)
            {
                string name        = enumValue.ToString();
                string displayName = name;
                if (enumValue is MatchOperator)
                {
                    displayName = GetOperatorDisplayName((MatchOperator)enumValue);
                }

                // TODO: get resource strings from tagged attributes for display name!
                if (ExclusiveItems == null)
                {
                    SelectItems.Add(new SelectItem(name, displayName, enumValue));
                }
                else if (!ExclusiveItems.Contains((T)enumValue))
                {
                    SelectItems.Add(new SelectItem(name, displayName, enumValue));
                }
            }
        }
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            pathToSelectItemMap.Clear();
            RuleEditingContext context = Parent.RuleEditingContext;

            if (context == null)
            {
                return;
            }

            IEnumerable <NamedRule> namedRules = context.GetNamedRuleActivities();

            foreach (var namedRule in namedRules)
            {
                SelectItem newItem = new SelectItem(namedRule.Name, namedRule.DisplayName, namedRule);
                RulePoint  parent  = namedRule.Parent;
                // Build the hierarchy.
                HierarchicalSelectItem parentSelectItem = GetSelectItem(namedRule.Parent);
                parentSelectItem.Children.Add(newItem);
            }

            var    ruleManager = context.GetRuleSignature().Owner;
            string rootPath    = ruleManager.RootRulePoint.Path;

            if (pathToSelectItemMap.ContainsKey(rootPath))
            {
                var rootItem = pathToSelectItemMap[rootPath];
                foreach (var selectItem in rootItem.Children)
                {
                    SelectItems.Add(selectItem);
                }
            }
        }
Ejemplo n.º 4
0
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            string literalValue = Parent.TextDisplay;

            SelectItems.Add(new SelectItem(Properties.Resources.LiteralValue, literalValue, literalValue));
        }
Ejemplo n.º 5
0
        public override void UpdateSelectItems()
        {
            this.SelectItems.Clear();

            foreach (DynamicValue value in this.ValidValues)
            {
                SelectItems.Add(new SelectItem(value.ToString(), value.ToString(), value.Value));
            }
        }
Ejemplo n.º 6
0
 public ToDBCommand Select(params string[] columns)
 {
     foreach (var item in columns)
     {
         SelectItems.Add(new SelectItem {
             Item = item.Trim()
         });
     }
     return(this);
 }
Ejemplo n.º 7
0
        public ToDBCommand Select(Action <ToDBCommand> subQuery, string alias = null)
        {
            ToDBCommand cmd = new ToDBCommand();

            subQuery(cmd);
            SelectItems.Add(new SelectSubQuery {
                Alias = alias, SubQuery = cmd
            });
            return(this);
        }
Ejemplo n.º 8
0
        private void add(IEnumerable <SelectItems> list, SelectItems model, List <SelectItem> rst)
        {
            SelectItem item = new SelectItem(model.value, model.text);

            rst.Add(item);
            var cList = list.Where(t => (t.parentId ?? 0) == model.value);

            foreach (var temp in cList)
            {
                add(list, temp, item.children);
            }
        }
Ejemplo n.º 9
0
        public void TestListOfSelectItems()
        {
            var c       = new Models.Customers();
            var columns = new SelectItems {
                c.CustomerID, c.CompanyName
            };

            Verify(
                Select(columns, c.Phone)
                ,
                "select customerid,companyName,phone from customers"
                );
        }
Ejemplo n.º 10
0
    protected virtual List <SelectListItem> GetSelectItemsFromAttribute(
        SelectItems selectItemsAttribute,
        ModelExplorer explorer)
    {
        var selectItems = selectItemsAttribute.GetItems(explorer)?.ToList();

        if (selectItems == null)
        {
            return(new List <SelectListItem>());
        }

        return(selectItems);
    }
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            Type requiredType = this.GetOutputType();

            foreach (var item in _provider.ExpressionItems)
            {
                if (requiredType == null ||
                    requiredType == item.ValueType ||
                    item.ValueType.IsSubclassOf(requiredType) ||
                    requiredType == typeof(DynamicValue))
                {
                    SelectItems.Add(new SelectItem(item.Name, item.DisplayName, item));
                }
            }
        }
Ejemplo n.º 12
0
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            RuleEditingContext context = Parent.RuleEditingContext;

            if (context == null)
            {
                return;
            }

            IEnumerable <ActivityEntry> activities = context.GetAvailableActivities();

            foreach (ActivityEntry item in activities)
            {
                SelectItems.Add(new SelectItem(item.Name, item.DisplayName, item));
            }
        }
Ejemplo n.º 13
0
 /// <summary>
 /// 获得所有Select的列
 /// </summary>
 private void GetSelectColumnNames()
 {
     foreach (var colQuery in SelectQuery)
     {
         var colName = string.Empty;
         if (!string.IsNullOrWhiteSpace(colQuery))
         {
             var sql = colQuery.Trim();
             //单纯的 xxxx.xxxx 没有 As 没有 =
             colName = GetMatchedSelectColumn(sql);
         }
         if (!string.IsNullOrWhiteSpace(colName))
         {
             SelectItems.Add(colName);
         }
     }
 }
Ejemplo n.º 14
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            string str;

            if (string.IsNullOrEmpty(Id))
            {
                Id = Name;
            }
            if (string.IsNullOrEmpty(Name))
            {
                Name = "";
            }
            if (For == null)
            {
                throw new Exception("For not bound");
            }
            if (SelectItems != null)
            {
                object model = For.Model;
                if (model != null)
                {
                    str = model.ToString();
                }
                else
                {
                    str = null;
                }
                SelectItems.ForEach(x =>
                {
                    if (x.Value == Value)
                    {
                        x.Selected = true;
                    }
                });
            }

            output = await WrapResult(output, context);

            if (ColumnType == ColumnType.Hidden)
            {
                output.SetAttribute("style", "display:none;");
            }
        }
Ejemplo n.º 15
0
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            Type outputType = GetOutputType();

            if (outputType == null)
            {
                return;
            }
            RuleEditingContext context = Parent.RuleEditingContext;

            if (context == null)
            {
                return;
            }

            foreach (var function in context.GetFunctions(outputType).OrderBy(f => f.DisplayName))
            {
                SelectItems.Add(new SelectItem(function.Name, function.DisplayName, function));
            }
        }
Ejemplo n.º 16
0
        public override void UpdateSelectItems()
        {
            SelectItems.Clear();
            Type outputType = GetOutputType();

            if (outputType == null)
            {
                return;
            }

            RuleEditingContext context = Parent.RuleEditingContext;

            if (context == null)
            {
                return;
            }

            foreach (var _operator in context.GetOperators(outputType))
            {
                SelectItems.Add(new SelectItem(_operator.Name, _operator.DisplayName, _operator));
            }
        }
Ejemplo n.º 17
0
        public override TSqlQuery Compile(ClauseCompilationContext context)
        {
            string concatenatedFields = TSqlSyntax.AllFieldsSymbol;

            if (SelectItems != null & SelectItems.Any())
            {
                concatenatedFields = string.Join(
                    TSqlSyntax.FieldsDelimeter,
                    SelectItems.Select(f => f.Compile())
                    );
            }

            StringBuilder sb = new StringBuilder();

            sb.Append($"{TSqlSyntax.Select}");

            if (Distinct)
            {
                sb.Append(" ");
                sb.Append($"{TSqlSyntax.Distinct}");
            }
            if (topCount.HasValue)
            {
                sb.Append(" ");
                sb.Append($"{TSqlSyntax.Top} {topCount}");
            }
            sb.Append(" ");
            sb.Append($"{concatenatedFields} {TSqlSyntax.From} {SqlBuilderHelper.PrepareTableName(TableName)}");

            if (TableHints.HasValue)
            {
                string hints = SqlBuilderHelper.GetTableHintString(TableHints.Value);
                sb.Append(" ");
                sb.Append($"{TSqlSyntax.With}({hints})");
            }

            return(new TSqlQuery(sb.ToString()));
        }
Ejemplo n.º 18
0
 public void AddSelectColumn(string selectColumn)
 {
     SelectItems.Add(selectColumn);
 }
Ejemplo n.º 19
0
        /// <summary>
        /// Process
        /// </summary>
        /// <param name="context">Context</param>
        /// <param name="output">Output</param>
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            if (output == null)
            {
                throw new ArgumentNullException(nameof(output));
            }

            //clear the output
            output.SuppressOutput();

            //disabled attribute
            bool.TryParse(IsDisabled, out bool disabled);
            if (disabled)
            {
                var d = new TagHelperAttribute("disabled", "disabled");
                output.Attributes.Add(d);
            }

            //required asterisk
            bool.TryParse(IsRequired, out bool required);
            if (required)
            {
                output.PreElement.SetHtmlContent("<div class='input-group input-group-required'>");
                output.PostElement.SetHtmlContent("<div class=\"input-group-btn\"><span class=\"required\">*</span></div></div>");
            }

            //contextualize IHtmlHelper
            var viewContextAware = _htmlHelper as IViewContextAware;

            viewContextAware?.Contextualize(ViewContext);

            //add form-control class
            bool.TryParse(RenderFormControlClass, out bool renderFormControlClass);
            object htmlAttributes = null;

            if (string.IsNullOrEmpty(RenderFormControlClass) && For.Metadata.ModelType.Name.Equals("String") || renderFormControlClass)
            {
                htmlAttributes = new { @class = "form-control k-input" }
            }
            ;

            var viewEngine  = GetPrivateFieldValue(_htmlHelper, "_viewEngine") as IViewEngine;
            var bufferScope = GetPrivateFieldValue(_htmlHelper, "_bufferScope") as IViewBufferScope;

            if (SelectItems != null)
            {
                if (SelectItems.Any())
                {
                    if (_htmlHelper.ViewData.ContainsKey("SelectList"))
                    {
                        _htmlHelper.ViewData["SelectList"] = SelectItems;
                    }
                    else
                    {
                        _htmlHelper.ViewData.Add("SelectList", SelectItems);
                    }
                }
                else
                {
                    if (_htmlHelper.ViewData.ContainsKey("SelectList"))
                    {
                        _htmlHelper.ViewData["SelectList"] = new List <SelectListItem>();
                    }
                    else
                    {
                        _htmlHelper.ViewData.Add("SelectList", new List <SelectListItem>());
                    }
                }
            }

            var templateBuilder = new TemplateBuilder(
                viewEngine,
                bufferScope,
                _htmlHelper.ViewContext,
                _htmlHelper.ViewData,
                For.ModelExplorer,
                For.Name,
                Template,
                readOnly: false,
                additionalViewData: new { htmlAttributes, postfix = this.Postfix });

            var htmlOutput = templateBuilder.Build();

            output.Content.SetHtmlContent(htmlOutput.RenderHtmlContent());
        }
Ejemplo n.º 20
0
        protected override async Task OnParametersSetAsync()
        {
            _renderFragments = new QueryDictionary <RenderFragment>();
            foreach (var column in GridComponent.Grid.Columns)
            {
                // Name must have a non empty value
                if (string.IsNullOrWhiteSpace(column.Name))
                {
                    column.Name = Guid.NewGuid().ToString();
                }

                if (((ICGridColumn)column).SubGrids != null)
                {
                    var values = ((ICGridColumn)column).GetSubGridKeyValues(Item);
                    var grid   = await((ICGridColumn)column).SubGrids(values.Values.ToArray(), true, true, true, true) as ICGrid;
                    grid.Direction   = GridComponent.Grid.Direction;
                    grid.FixedValues = values;
                    VariableReference reference = new VariableReference();
                    if (Children.ContainsKey(column.Name))
                    {
                        Children[column.Name] = reference;
                    }
                    else
                    {
                        Children.Add(column.Name, reference);
                    }
                    if (_renderFragments.ContainsKey(column.Name))
                    {
                        _renderFragments[column.Name] = CreateSubGridComponent(grid, reference);
                    }
                    else
                    {
                        _renderFragments.Add(column.Name, CreateSubGridComponent(grid, reference));
                    }
                }
                else if (column.UpdateComponentType != null)
                {
                    VariableReference reference = new VariableReference();
                    if (Children.ContainsKey(column.Name))
                    {
                        Children[column.Name] = reference;
                    }
                    else
                    {
                        Children.Add(column.Name, reference);
                    }
                    if (_renderFragments.ContainsKey(column.Name))
                    {
                        _renderFragments[column.Name] = GridCellComponent <T> .CreateComponent(_sequence,
                                                                                               GridComponent, column.UpdateComponentType, column, Item, null, true, reference);
                    }
                    else
                    {
                        _renderFragments.Add(column.Name, GridCellComponent <T> .CreateComponent(_sequence,
                                                                                                 GridComponent, column.UpdateComponentType, column, Item, null, true, reference));
                    }
                }
            }
            _tabGroups = GridComponent.Grid.Columns
                         .Where(r => !string.IsNullOrWhiteSpace(r.TabGroup) && _renderFragments.Keys.Any(s => s.Equals(r.Name)))
                         .Select(r => r.TabGroup).Distinct();

            if (((CGrid <T>)GridComponent.Grid).ButtonCrudComponents != null && ((CGrid <T>)GridComponent.Grid).ButtonCrudComponents.Count() > 0)
            {
                foreach (var key in ((CGrid <T>)GridComponent.Grid).ButtonCrudComponents.Keys)
                {
                    var buttonCrudComponent = ((CGrid <T>)GridComponent.Grid).ButtonCrudComponents.Get(key);
                    if ((buttonCrudComponent.UpdateMode != null && buttonCrudComponent.UpdateMode(Item)) ||
                        (buttonCrudComponent.UpdateModeAsync != null && await buttonCrudComponent.UpdateModeAsync(Item)) ||
                        (buttonCrudComponent.GridMode.HasFlag(GridMode.Update)))
                    {
                        _buttonCrudComponentVisibility.Add(key, true);
                    }
                    else
                    {
                        _buttonCrudComponentVisibility.Add(key, false);
                    }
                }
            }

            foreach (var column in GridComponent.Grid.Columns)
            {
                if (((IGridColumn <T>)column).IsSelectColumn.IsSelectKey)
                {
                    var selectItem = await((IGridColumn <T>)column).SelectItemExpr(Item);
                    SelectItems.Add(column.Name, selectItem);
                }
            }

            _shouldRender = true;
        }
Ejemplo n.º 21
0
        private void FindItem(List <string> searchFor, List <string> searchValues)
        {
            string            errorText = null;
            string            errorCode = null;
            List <RetailItem> searchItems;
            string            searchFlag = "NORMAL";
            var dSession = GlobalDataAccessor.Instance.DesktopSession;

            RetailProcedures.SearchForItemPUR(searchFor, searchValues, dSession, searchFlag, out searchItems, out errorCode, out errorText);

            RetailItem        item          = null;
            ItemSearchResults searchResults = new ItemSearchResults(dSession, ItemSearchResultsMode.REPRINT_TAG);

            if (searchItems.Count == 0)
            {
                searchResults.Message = "No valid records found.  Please enter another number.";
                searchResults.ShowDialog();
                return;
            }

            if (searchItems.Count == 1)
            {
                item = searchItems[0];
                if (Item.ItemLocked(item))
                {
                    searchResults.Message = Item.ItemLockedMessage;
                    searchResults.ShowDialog();
                    return;
                }
                if (Commons.CheckICNSubItem(item.Icn))
                {
                    MessageBox.Show("Invalid ICN");
                    return;
                }
            }
            else if (searchItems.Count > 1)
            {
                //here remove items with ICNSubItem true
                SelectItems selectItems = new SelectItems(searchItems, ItemSearchResultsMode.REPRINT_TAG);
                selectItems.ErrorMessage = "The Short code entered is a duplicate. Please make your selection from the list";
                if (selectItems.ShowDialog() == DialogResult.OK)
                {
                    item = selectItems.SelectedItem;
                    if (Item.ItemLocked(item))
                    {
                        searchResults.Message = Item.ItemLockedMessage;
                        searchResults.ShowDialog();
                        return;
                    }
                    if (Commons.CheckICNSubItem(item.Icn))
                    {
                        MessageBox.Show("Invalid ICN");
                        DialogResult = DialogResult.None;
                        return;
                    }
                }
                else
                {
                    txtICN.Text = string.Empty;
                    txtICN.Focus();
                    return;
                }
            }

            if (item != null)
            {
                if (item.ItemStatus == ProductStatus.IP || item.ItemStatus == ProductStatus.PS || item.ItemStatus == ProductStatus.SOLD)
                {
                    MessageBox.Show("The ICN# entered is not a valid number.  Please try again.");
                    return;
                }

                ReprintTagVerify tagVerify = new ReprintTagVerify(dSession, item, ReprintVerifySender.ReprintTag);
                tagVerify.ShowDialog(this);
            }

            //BZ: 899 - After the reprint tag verify has finished, do not allow this form to close
            //- this form should only close when the user hits cancel
            //this.Close();
        }
        private bool FindItem(List <string> searchFor, List <string> searchValues)
        {
            bool              retval    = false;
            string            errorText = null;
            string            errorCode = null;
            List <RetailItem> searchItems;
            string            searchFlag = "NORMAL";

            this.customLabelError.Visible = false;
            this.customLabelError.Text    = string.Empty;


            bool loadQty = this.txtQty.Visible;

            RetailProcedures.SearchForItem(searchFor, searchValues, CDS, searchFlag, loadQty, out searchItems, out errorCode, out errorText);

            RetailItem        item          = null;
            ItemSearchResults searchResults = new ItemSearchResults(GlobalDataAccessor.Instance.DesktopSession, ItemSearchResultsMode.CHARGEOFF);

            if (searchItems.Count == 0)
            {
                this.customLabelError.Visible = true;
                this.customLabelError.Text    = " This ICN number was not found in the current shop. Please check the number and try again.";
                return(retval);
            }

            if (searchItems.Count == 1 && searchItems[0].ItemStatus != ProductStatus.PFI)
            {
                searchResults.ShowDialog();
                return(retval);
            }

            if (searchItems.Count == 1)
            {
                item = searchItems[0];
                if (Item.ItemLocked(item))
                {
                    MessageBox.Show(Item.ItemLockedMessage);
                    return(retval);
                }
            }
            else if (searchItems.Count > 1)
            {
                var distinctItems = from sItem in searchItems
                                    where ((sItem.IsJewelry && sItem.Jewelry.Any(j => j.SubItemNumber == 0)) ||
                                           !sItem.IsJewelry)
                                    select sItem;
                if (distinctItems.Any())
                {
                    SelectItems selectItems = new SelectItems(searchItems, ItemSearchResultsMode.CHARGEOFF);
                    selectItems.ErrorMessage = "The Short code entered is a duplicate. Please make your selection from the list";
                    if (selectItems.ShowDialog() == DialogResult.OK)
                    {
                        item = selectItems.SelectedItem;
                        if (Item.ItemLocked(item))
                        {
                            this.customLabelError.Text    = Item.ItemLockedMessage;
                            this.customLabelError.Visible = true;
                            return(retval);
                        }
                        if (item.mDocType == "9")
                        {
                            this.customLabelError.Text    = "Item is not eligible for Charge off.";
                            this.customLabelError.Visible = true;
                            return(retval);
                        }
                        else if (item.Icn.Substring(Icn.ICN_LENGTH - 1) != "0")
                        {
                            this.customLabelError.Text    = "Item is not eligible for Charge off.";
                            this.customLabelError.Visible = true;
                            return(retval);
                        }

                        if (item.HoldType == HoldTypes.POLICEHOLD.ToString())
                        {
                            this.customLabelError.Visible = true;
                            this.customLabelError.Text    = "This merchandise is on Police Hold. The Police Hold must be released before the item can be charged off.";
                            return(retval);
                        }
                    }
                    else
                    {
                        return(retval);
                    }
                }
                else
                {
                    item = searchItems[0];
                    if (Item.ItemLocked(item))
                    {
                        MessageBox.Show(Item.ItemLockedMessage);
                        return(retval);
                    }
                }
            }

            if (item != null)
            {
                if (item.HoldType == HoldTypes.POLICEHOLD.ToString())
                {
                    this.customLabelError.Text    = "This merchandise is on Police Hold. The Police Hold must be released before the item can be charged off.";
                    this.customLabelError.Visible = true;
                    return(retval);
                }
                else if (item.mDocType == "9")
                {
                    this.customLabelError.Text    = "Cannot charge off NXT items.";
                    this.customLabelError.Visible = true;
                    return(retval);
                }
                else if (item.Icn.Substring(Icn.ICN_LENGTH - 1) != "0")
                {
                    this.customLabelError.Text    = "Cannot charge off sub items.";
                    this.customLabelError.Visible = true;
                    return(retval);
                }
                else if (int.Parse(this.txtQty.Text) > item.Quantity)
                {
                    this.customLabelError.Text    = item.Quantity + " items were found for this CACC category.  Please revise the charge off quantity.";
                    this.customLabelError.Visible = true;

                    this.continueButton.Enabled = false;

                    return(retval);
                }
                else
                {
                    //if (txtQty.Visible)
                    if (isCACC(this.txtICN.Text))
                    {
                        decimal qtyText = 0;

                        if (decimal.TryParse(txtQty.Text, out qtyText) && (item.Quantity > 0))
                        {
                            //do we need to check to make sure DB didn't give us 0 or null
                            decimal qtyRatio = (qtyText / Convert.ToDecimal(item.Quantity));
                            item.ItemAmount = item.PfiAmount * qtyRatio;
                        }
                        item.Quantity = int.Parse(this.txtQty.Text);
                    }

                    ChargeOffDetails detailsForm = new ChargeOffDetails
                    {
                        ChargeOffItem = item
                    };
                    detailsForm.ShowDialog();

                    retval      = (detailsForm.DialogResult == DialogResult.OK);
                    txtICN.Text = string.Empty;
                }
            }

            return(retval);
        }
Ejemplo n.º 23
0
    protected void BtnVote_Click(object sender, EventArgs e)
    {
        string indexstr = BtnVote.CommandArgument;

        if (!string.IsNullOrEmpty(indexstr))
        {
            if (Request.QueryString["Mid"] != null)
            {
                if (DataListGauge.Items.Count > 0)
                {
                    SelectItems myselect = new SelectItems();
                    myselect.FindCheck(DataListGauge);
                    if (myselect.CheckCount > 0)
                    {
                        string myWmid = Request.QueryString["Mid"].ToString();
                        string myCid  = Request.QueryString["Cid"].ToString();
                        string Wid    = ((Label)DataListvote.Items[Int32.Parse(indexstr)].FindControl("LabelWid")).Text;
                        int    Widn   = Int32.Parse(Wid);
                        string Wflash = ((Label)DataListvote.Items[Int32.Parse(indexstr)].FindControl("LabelWflash")).Text;

                        LearnSite.BLL.Works         wbll = new LearnSite.BLL.Works();
                        LearnSite.BLL.GaugeFeedback kbll = new LearnSite.BLL.GaugeFeedback();
                        string Wname   = ((LinkButton)DataListvote.Items[Int32.Parse(indexstr)].FindControl("lBtnSname")).Text;
                        int    MySid   = Int32.Parse(Request.Cookies[LearnSite.Common.CookieHelp.stuCookieNname].Values["Sid"].ToString());
                        string MySnum  = Request.Cookies[LearnSite.Common.CookieHelp.stuCookieNname].Values["Snum"].ToString();
                        string Mygrade = Request.Cookies[LearnSite.Common.CookieHelp.stuCookieNname].Values["Sgrade"].ToString();
                        string Myclass = Request.Cookies[LearnSite.Common.CookieHelp.stuCookieNname].Values["Sclass"].ToString();

                        if (!kbll.ExistsFnum(Widn, MySid))                     //检测是否给该同学投过票,如果未投过则。。。
                        {
                            int iv = wbll.GetWegg(Int32.Parse(myWmid), MySid); //从数据库中获取可投次数
                            if (iv > 0)
                            {
                                LearnSite.BLL.Works ws = new LearnSite.BLL.Works();
                                ws.UpdateWvote(Widn); //别人的得票数加1
                                iv = iv - 1;          //我的投票次数减1
                                ws.UpdateWegg(Int32.Parse(myWmid), MySnum);

                                LearnSite.Model.GaugeFeedback kmodel = new LearnSite.Model.GaugeFeedback();
                                kmodel.Fcid    = Int32.Parse(myCid);
                                kmodel.Fclass  = Int32.Parse(Myclass);
                                kmodel.Fdate   = DateTime.Now;
                                kmodel.Fgid    = Int32.Parse(LabelMgid.Text);
                                kmodel.Fgood   = CheckBoxGood.Checked;
                                kmodel.Fgrade  = Int32.Parse(Mygrade);
                                kmodel.Fmid    = 0;//任务编号暂时为0,无用参数
                                kmodel.Fnum    = MySnum;
                                kmodel.Fscore  = myselect.CheckScore;
                                kmodel.Fselect = myselect.CheckSelect;
                                kmodel.Fwid    = Widn;
                                kmodel.Fsid    = MySid;
                                kbll.Add(kmodel);//添加互评记录
                                Labelmsg.Text = "给" + Wname + "同学投票互评成功!";
                                System.Threading.Thread.Sleep(200);
                                int Wfscore = kbll.AvgFwid(Widn);
                                ws.UpdateWfscore(Widn, Wfscore);
                                System.Threading.Thread.Sleep(200);
                                Labelegg.Text     = iv.ToString();
                                Labelwfscore.Text = ws.GetWfscore(Int32.Parse(Wid)).ToString();
                            }
                            else
                            {
                                Labelmsg.Text = "您的投票次数已经用完!";
                            }
                        }
                        else
                        {
                            Labelmsg.Text = "你已经给" + Wname + "同学投过票了!";
                        }
                    }
                    else
                    {
                        Labelmsg.Text = "未选中互评选项,无法给与投票!";
                    }
                }
                else
                {
                    Labelmsg.Text = "没有互评选项,请咨询老师给该活动添加量规!";
                }
            }
        }
        else
        {
            Labelmsg.Text = "请点击作品,预览后再进行投票!";
        }
    }