Esempio n. 1
0
        public GeneralDataProviderItem GetCurrentItem(FormPositioningEnum Positioning, bool UpdateFromUI)
        {
            GeneralDataProviderItem Item;

            if (!IsPostBack && GetStartFilterPosition() != "")
            {
                DataProvider.FiltroAtual = DataProvider.StartFilter;
                DataSet   ds  = DataProvider.SelectAllItems();
                DataRow[] drs = ds.Tables[0].Select(GetStartFilterPosition().Replace("N'", "'"));
                if (drs.Length > 0)
                {
                    DataProvider.PageNumber = ds.Tables[0].Rows.IndexOf(drs[0]) + 1;
                    Item = DataProvider.SelectItem(true, DataProvider.PageNumber, FormPositioningEnum.None, UpdateFromUI);
                }
                else
                {
                    Item = DataProvider.SelectItem(true, PageNumber, Positioning, UpdateFromUI);
                }
            }
            else
            {
                Item = DataProvider.SelectItem(true, PageNumber, Positioning, UpdateFromUI);
            }
            return(Item);
        }
Esempio n. 2
0
        protected void PageShow(FormPositioningEnum Positioning, bool ShouldClearFields, bool RebindGrid, bool UpdateFromUI)
        {
            if (PageState == FormStateEnum.Navigation && CanView)
            {
                DisableEnableContros(false);                 // Habilita Enable ou Disable dos controles da tela
            }
            if (PageOperations.None)
            {
                if (PageHolder != null)
                {
                    PageHolder.Visible = false;
                }
                DefinePageContent(null);
                InitializeAlias(null);
                FillAuxiliarTables();
                ShowFormulas();
                return;
            }
            bool IsInsertig = (PageState == FormStateEnum.Insert);

            GeneralDataProviderItem Item;

            if (!IsInsertig)
            {
                Item = GetCurrentItem(Positioning, UpdateFromUI);

                if (Item == null && OpenInEditMode && !IsPostBack && PageState == FormStateEnum.Edit && CanView)
                {
                    PageState = FormStateEnum.Navigation;
                    PageShow(FormPositioningEnum.First);
                    return;
                }

                // Para tabelas que sejam do tipo "Par??metros" vamos verificar se existe um registro.
                // Caso n??o exista nenhum registro, iremos inserir um com valores default.
                if (TableParameters.ToString().ToLower().Equals("true") && Item == null)
                {
                    Item = GetDataProviderItem(DataProvider);
                    foreach (FieldBase Field in Item.Fields.Values)
                    {
                        if (Field is IntegerField || Field is LongField || Field is DecimalField)
                        {
                            Field.Value = 0;
                        }
                        if (Field is TextField || Field is DateField || Field is MemoField)
                        {
                            Field.Value = " ";
                        }
                        if (Field is BooleanField)
                        {
                            Field.Value = false;
                        }
                        if (Field is DateField)
                        {
                            Field.Value = new DateTime(1901, 01, 01);
                        }
                    }
                    DataProvider.InsertItem(Item);
                    Item = DataProvider.SelectItem(PageNumber, Positioning);
                }

                SetOldParameters(Item);

                DefinePageContent(Item);

                if (Item != null && PageOperations.AllowRead)
                {
                    if (!CanView)
                    {
                        ClearFields();
                        ShowInitialValues();
                        ShowFormulas();
                    }
                }
                else
                {
                    ClearFields();
                    InitializeAlias(Item);
                    FillAuxiliarTables();
                    ShowInitialValues();
                    ShowFormulas();
                }
            }

            if (IsInsertig || (DataProvider.PageCount == 0 && sWhere == "" && PageInsert) || (!CanView && PageInsert))
            {
                PageState = FormStateEnum.Insert;
                DataProvider.PageNumber = PageNumber;                                           // guarda o n??mero do registro para, caso cancelar a inclus??o, recuperar depois
                Item = GetDataProviderItem(DataProvider);
                ClearFields(ShouldClearFields);

                //vamos reposicionar o item para atualizar formulas, etc etc etc etc etc ...
                DataProvider.LocateRecord(Item);
            }

            if (DataProvider.PageCount > 0 || PageState == FormStateEnum.Insert)
            {
                SetStateGrid();
            }

            CreateHiddenFields();

            if (RebindGrid)
            {
                GridRebind();
            }

            if (Positioning != FormPositioningEnum.Current && Positioning != FormPositioningEnum.None)
            {
                if (IsPostBack)
                {
                    ResetDataList();
                    ResetRepeaterList();
                }
            }
        }
Esempio n. 3
0
 protected void PageShow(FormPositioningEnum Positioning, bool ShouldClearFields, bool RebindGrid)
 {
     PageShow(Positioning, ShouldClearFields, RebindGrid, true);
 }
Esempio n. 4
0
 protected void PageShow(FormPositioningEnum Positioning, bool ShouldClearFields)
 {
     PageShow(Positioning, ShouldClearFields, true);
 }
 public GeneralDataProviderItem GetCurrentItem(FormPositioningEnum Positioning, bool UpdateFromUI)
 {
     return(DataProvider.SelectItem(true, MainProvider.DataProvider.PageNumber, Positioning, UpdateFromUI));
 }
Esempio n. 6
0
 /// <summary>
 /// Carrega a pagina com os dados necess??rios
 /// </summary>
 protected void PageShow(FormPositioningEnum Positioning)
 {
     PageShow(Positioning, true);
 }
Esempio n. 7
0
 public GeneralDataProviderItem GetCurrentItem(FormPositioningEnum Positioning, bool UpdateFromUI)
 {
     return(null);
 }
Esempio n. 8
0
        public GeneralDataProviderItem SelectItem(bool ShouldLocateRecord, int CurrentPageNumber, FormPositioningEnum Positioning, bool UpdateFromUI)
        {
            //Zerando todos os parametros antes de usar novamente pois estava pegando os parametros dos selects feitos anteriormente
            Select.Parameters.Clear();
            string selectList = "";

            Item = BasePage.GetDataProviderItem(this);
            //vamos igualar os objetos de DAO para a mesma transacao
            Select.Dao = Dao;
            Count.Dao  = Dao;

            foreach (FieldBase Field in Item.Fields.Values)
            {
                string FieldName = Field.Name;
                selectList += Select.Dao.PoeColAspas(FieldName) + ",";
            }

            Select.SqlQuery.Replace("{SQL_Select}", selectList.TrimEnd(','));
            SetParameters((TableCommand)Select, ParameterType.Select, (Positioning == FormPositioningEnum.Current), this);
            SetWhere(FiltroAtual);
            PageCount = ExecuteCount();

            switch (Positioning)
            {
            case FormPositioningEnum.None:
                PageNumber = CurrentPageNumber;
                break;

            case FormPositioningEnum.Current:
                PageNumber = CurrentPageNumber;
                break;

            case FormPositioningEnum.First:
                PageNumber = 1;
                break;

            case FormPositioningEnum.Previous:
                PageNumber = CurrentPageNumber - 1;

                break;

            case FormPositioningEnum.Next:
                PageNumber = CurrentPageNumber + 1;
                break;

            case FormPositioningEnum.Last:
                PageNumber = PageCount;
                break;

            default:
                PageNumber = CurrentPageNumber;
                break;
            }

            if (PageNumber < 1)
            {
                PageNumber = 1;
            }
            if (PageNumber > PageCount)
            {
                this.PageNumber = PageCount;
            }

            DataSet ds = null;

            if (PageCount > 0)
            {
                if (Positioning == FormPositioningEnum.Current)
                {
                    ds = ExecuteSelect(0, 1);
                }
                else
                {
                    ds = ExecuteSelect(PageNumber - 1, 1);
                }
            }
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                DataRow dr = ds.Tables[0].Rows[0];

                foreach (string Key in Item.Fields.Keys)
                {
                    FieldBase Field     = Item.Fields[Key];
                    string    FieldName = Field.Name;
                    string    format    = (Item.Fields[Key].FieldType == FieldType.Date ? Select.DateFormat : "");
                    Item.Fields[Key].SetValue(dr[FieldName], format);
                }

                if (ShouldLocateRecord)
                {
                    LocateRecord(Item, UpdateFromUI);
                }

                return(Item);
            }
            else
            {
                PageNumber = 0;
                return(null);
            }
        }
Esempio n. 9
0
 public GeneralDataProviderItem SelectItem(bool ShouldLocateRecord, int CurrentPageNumber, FormPositioningEnum Positioning)
 {
     return(SelectItem(ShouldLocateRecord, CurrentPageNumber, Positioning, true));
 }
Esempio n. 10
0
 /// <summary>
 /// Efetua o select no banco de acordo com o filtro e numero da pagina
 /// </summary>
 /// <returns>Retorna item com o conteudo da celula que retornou no select</returns>
 public GeneralDataProviderItem SelectItem(int CurrentPageNumber, FormPositioningEnum Positioning)
 {
     return(SelectItem(true, CurrentPageNumber, Positioning));
 }
Esempio n. 11
0
 public GeneralDataProviderItem SelectItem(int CurrentPageNumber, FormPositioningEnum Positioning, bool ForceRelation)
 {
     return(SelectItem(CurrentPageNumber, Positioning, ForceRelation, BasePage.GetDataProviderItem(this)));
 }