/// <summary>
        /// Метод установки дополнительных представлений данных
        /// </summary>
        /// <param name="pars"></param>
        public virtual void SetAdditionalViews(params object[] pars)
        {
            additionalViews = new AdditionalViews();

            for (int i = 0; i < pars.Length; i++)
                additionalViews.Add(pars[i]);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Метод установки дополнительных представлений данных
        /// </summary>
        /// <param name="pars"></param>
        public virtual void SetAdditionalViews(params object[] pars)
        {
            additionalViews = new AdditionalViews();

            for (int i = 0; i < pars.Length; i++)
            {
                additionalViews.Add(pars[i]);
            }
        }
Ejemplo n.º 3
0
        protected void SelfFieldClickedHandler(object sender, DynamicCardControl.SelfFieldClickedEventAgrs e)
        {
            var selfField  = e.SelfField;
            var instanceID = selfField.Card.EntityInstance.EntityInstanceID;
            var entityID   = selfField.Card.Entity.ID.ToString();

            DocumentPreview.ID       = instanceID;
            DocumentPreview.EntityID = entityID;
            DocumentPreview.InitializeAsUserControl(this);
            AdditionalViews.SetActiveView(DocumentPreviewView);
        }
Ejemplo n.º 4
0
        private void Draw_ReportViewControl()
        {
            var o = Request.QueryString["id"];

            if (o != null)
            {
                var entityInstanceID = int.Parse(o);

                if (string.IsNullOrEmpty(TemplateList.SelectedValue))
                {
                    throw new Exception(string.Format("Нет шаблона для '{0}'", CardListRelationName));
                }
                else
                {
                    TeplatesFilters.Visible    = true;
                    SaveObjects.Visible        = true;
                    DeleteImage.Visible        = true;
                    DeleteInstance.Visible     = true;
                    ListEntity.Visible         = true;
                    RecordsNumberLabel.Visible = true;
                }


                var templateID = TemplateList.SelectedValue;

                var template = Storage.Select <Template>(templateID);

                UserTemlatePermission.SetFieldsTaboo(DCControl.userID, template);

                var listEntity = Storage.Select <Entity>(template.Entity.ID);

                var filteredListTable = GetFilteredListTable(template, listEntity);

                //Временно, отключить навигацию по объектам (надо разбираться)
                Page.Session["checkBoxObjectsNavigation"] = false;

                initialiseTableContorl(listEntity, filteredListTable, templateID, entityInstanceID);

                AdditionalViews.SetActiveView(ReportView);
            }
        }
Ejemplo n.º 5
0
        protected void RelationClickedHandler(object sender, DynamicCardControl.RelationClickedEventArgs e)
        {
            TeplatesFilters.Visible    = false;
            SaveObjects.Visible        = false;
            DeleteImage.Visible        = false;
            DeleteInstance.Visible     = false;
            ListEntity.Visible         = false;
            RecordsNumberLabel.Visible = false;


            var relation = e.Relation;

            var reader = new DatabaseReader(Teleform.ProjectMonitoring.HttpApplication.Global.ConnectionString);

            var entID = int.Parse(e.Relation.Entity.ID.ToString());

            var instanceID = reader.GetInstanceID(relation);

            InitializeDynamicCards(HelpCard, entID, instanceID, null);

            HelpCard.Recreate();

            AdditionalViews.SetActiveView(ObjectView);
        }
Ejemplo n.º 6
0
 public MainRayRegisterer(AdditionalViews additionalViews, RayVisualizer rayVisualizer)
 {
     this.additionalViews = additionalViews;
     this.rayVisualizer   = rayVisualizer;
 }
Ejemplo n.º 7
0
        private Dictionary <int, Card> InitializeDynamicCards(DynamicCardControl DCControl, int entityID, int?instanceID, int?constraintID)
        {
            var reader = new DatabaseReader(Teleform.ProjectMonitoring.HttpApplication.Global.ConnectionString);

            Dictionary <int, Card> cards;
            Card card;
            var  table = new DataTable();
            var  query = string.Empty;

            if (DCControl.CurrentMode == Mode.Create && instanceID != null)
            {
                DCControl.ChangeMode(Mode.ReadOnly);
            }


            if (constraintID != null || instanceID == null)
            {
                DCControl.ChangeMode(Mode.Create);
            }

            var mode = DCControl.CurrentMode;

            if (mode == Mode.ReadOnly)
            {
                query = string.Format("select [Permission].[isItPermissible] ('{0}', {1}, 1,0,0,0)", entityID, instanceID);
                table = CheckUserRights(DCControl, table, query);

                card = XmlCardSerializer.Deserialize(entityID);

                card.InstanceID = instanceID;
                reader.FillFieldsValue(card, instanceID.Value);

                cards = new Dictionary <int, Card>();
                cards.Add(entityID, card);
                SetAncestorCards(mode, card, cards, instanceID, reader);
                cards = cards.Reverse().ToDictionary(k => k.Key, v => v.Value);
            }
            else if (mode == Mode.Edit || mode == Mode.Create)
            {
                if (mode == Mode.Edit)
                {
                    query = string.Format("select [Permission].[isItPermissible] ('{0}', {1}, 0,0,1,0)", entityID, instanceID);
                    table = Storage.GetDataTable(query);

                    //проверяем имеет ли пользователь права на действие
                    if (Convert.ToBoolean(table.Rows[0][0]) == false)
                    {
                        DCControl.ChangeMode(Mode.ReadOnly);
                        DenayPermissionDialog.Show();
                        Reset(DCControl);

                        //return null;
                    }
                }
                else if (mode == Mode.Create)
                {
                    query = string.Format("select [Permission].[isItPermissible] ('{0}', null, 0,1,0,0)", entityID);
                    table = CheckUserRights(DCControl, table, query);
                }
                AdditionalViews.SetActiveView(DefaultView);

                if (Session[DCControl.SessionKey] == null)
                {
                    card = XmlCardSerializer.Deserialize(entityID);

                    if (mode != Mode.Create)
                    {
                        reader.FillFieldsValue(card, instanceID.Value);
                    }

                    if (constraintID != null && instanceID != null)
                    {
                        card.ConstraintID = constraintID;
                        card.InstanceID   = instanceID;
                    }
                    cards = new Dictionary <int, Card>();
                    cards.Add(entityID, card);
                    SetAncestorCards(mode, card, cards, instanceID, reader);
                    cards = cards.Reverse().ToDictionary(k => k.Key, v => v.Value);
                    Session[DCControl.SessionKey] = cards;
                }
                else
                {
                    cards = Session[DCControl.SessionKey] as Dictionary <int, Card>;
                }
            }
            else
            {
                throw new NotSupportedException("Не поддерживаемый режим.");
            }
            DCControl.DataBaseReader = reader;


            foreach (var item in cards)
            {
                DCControl.SetFieldsTaboo(DCControl.userID, item.Value);
            }

            DCControl.Cards = cards;
            return(cards);
        }