Carrotware.CMS.UI.Admin.c3_admin.CMS.MoveWidgetToNewZone C# (CSharp) Method

MoveWidgetToNewZone() private method

private MoveWidgetToNewZone ( string WidgetTarget, string WidgetDropped, string ThisPage ) : string
WidgetTarget string
WidgetDropped string
ThisPage string
return string
        public string MoveWidgetToNewZone(string WidgetTarget, string WidgetDropped, string ThisPage)
        {
            try {
                //WidgetAddition = CMSConfigHelper.DecodeBase64(WidgetAddition);
                CurrentPageGuid = new Guid(ThisPage);
                LoadGuids();
                string[] w = WidgetDropped.Split('\t');

                Guid guidWidget = Guid.Empty;
                if (w.Length > 2) {
                    if (w[2].ToString().Length == Guid.Empty.ToString().Length) {
                        guidWidget = new Guid(w[2]);
                    }
                } else {
                    if (w[0].ToString().Length == Guid.Empty.ToString().Length) {
                        guidWidget = new Guid(w[0]);
                    }
                }

                List<Widget> cacheWidget = cmsAdminWidget;

                Widget ww1 = (from w1 in cacheWidget
                              where w1.Root_WidgetID == guidWidget
                              select w1).FirstOrDefault();

                if (ww1 != null) {
                    ww1.WidgetOrder = -1;
                    ww1.PlaceholderName = WidgetTarget;
                }

                List<Widget> ww2 = (from w1 in cacheWidget
                                    where w1.PlaceholderName.ToLowerInvariant() == WidgetTarget.ToLowerInvariant()
                                    && w1.WidgetOrder >= 0
                                    orderby w1.WidgetOrder, w1.EditDate
                                    select w1).ToList();

                int iW = 1;
                foreach (var w2 in ww2) {
                    w2.WidgetOrder = iW++;
                }

                cmsAdminWidget = cacheWidget;
                return "OK";
            } catch (Exception ex) {
                SiteData.WriteDebugException("webservice", ex);

                return ex.ToString();
            }
        }