Example #1
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            int    rowIndex = 0;
            Button button   = (Button)sender;

            using (ChancelerryDBDataContext dataContext = new ChancelerryDBDataContext())
            {
                // Запись в RegisterUserMap для данного пользователя и реестра
                var regUsrMap = (from a in dataContext.RegistersUsersMap
                                 where a.fk_register == (int)Session["registerID"] && a.fk_user == (int)Session["userID"]
                                 select a).FirstOrDefault();

                if (ViewState["Gridview1"] != null)
                {
                    DataTable dataTable = (DataTable)ViewState["Gridview1"];
                    // Проходим по всей таблице
                    if (dataTable.Rows.Count > 0)
                    {
                        for (int i = 1; i <= dataTable.Rows.Count; i++)
                        {
                            // Находим компоненты
                            Label    fieldId     = (Label)GridView1.Rows[rowIndex].FindControl("fieldId");
                            TextBox  fieldName   = (TextBox)GridView1.Rows[rowIndex].FindControl("fieldName");
                            TextBox  fieldWeight = (TextBox)GridView1.Rows[rowIndex].FindControl("fieldWeight");
                            CheckBox fieldIsAdd  = (CheckBox)GridView1.Rows[rowIndex].FindControl("fieldIsAdd");

                            // Запрос на существование записи в ТАБЛИЦЕ(БД) registersView с параметрами из таблицы
                            RegistersView registersView = (from a in dataContext.RegistersView
                                                           where
                                                           a.fk_registersUsersMap == regUsrMap.registersUsersMapID &&
                                                           a.fk_field == Convert.ToInt32(fieldId.Text)
                                                           select a).FirstOrDefault();

                            // Если такая запись в ТАБЛИЦЕ существует, то присваиваем значения active и weight из таблицы(на странице)
                            if (registersView != null)
                            {
                                registersView.active = fieldIsAdd.Checked;
                                registersView.weight = Convert.ToDouble(fieldWeight.Text);
                            }
                            else
                            {
                                // Если нет, то создаем новую запись в таблице RegistersView  с параметрами из таблицы
                                registersView        = new RegistersView();
                                registersView.active = true;
                                registersView.fk_registersUsersMap = regUsrMap.registersUsersMapID;
                                registersView.fk_field             = Convert.ToInt32(fieldId.Text);
                                registersView.weight = Convert.ToDouble(fieldWeight.Text);
                                dataContext.RegistersView.InsertOnSubmit(registersView);
                            }
                            dataContext.SubmitChanges();


                            rowIndex++;
                        }
                    }
                }
            }
            Response.Redirect("RegisterView.aspx");
        }
Example #2
0
        protected void Button3_Click(object sender, EventArgs e)
        {
            ChancelerryDBDataContext chancDB        = new ChancelerryDBDataContext();
            List <CollectedCards>    collectedCards = (from a in chancDB.CollectedCards select a).ToList();

            foreach (CollectedCards currentCard in collectedCards)
            {
                currentCard.mainFieldId = GetFieldIdForCard(currentCard);
            }
            chancDB.SubmitChanges();
        }
Example #3
0
        public int addCard(int fkRegister)
        {
            ChancelerryDBDataContext chancDB = new ChancelerryDBDataContext();
            CollectedCards           newCard = new CollectedCards();

            newCard.active      = true;
            newCard.fk_register = fkRegister;
            chancDB.CollectedCards.InsertOnSubmit(newCard);
            chancDB.SubmitChanges();
            return(newCard.collectedCardID);
        }
        protected void AddValue_Click(object sender, ImageClickEventArgs e)
        {
            ChancelerryDBDataContext chancDb  = new ChancelerryDBDataContext();
            DictionarysValues        newValue = new DictionarysValues();

            newValue.active        = true;
            newValue.fk_dictionary = Convert.ToInt32(DictionarysList.SelectedValue);
            newValue.value         = " ";
            chancDb.DictionarysValues.InsertOnSubmit(newValue);
            chancDb.SubmitChanges();
            divForTable.Controls.Clear();
            divForTable.Controls.Add(CreateTable(Convert.ToInt32(DictionarysList.SelectedValue)));
        }
Example #5
0
        public void createFieldValue(int fkCard, int fkField, string value, int instance)
        {
            ChancelerryDBDataContext chancDB  = new ChancelerryDBDataContext();
            CollectedFieldsValues    newValue = new CollectedFieldsValues();

            newValue.active           = true;
            newValue.fk_collectedCard = fkCard;
            newValue.fk_field         = fkField;
            newValue.fk_user          = 1;
            newValue.valueText        = value;
            newValue.createDateTime   = DateTime.Now;
            newValue.isDeleted        = false;
            newValue.version          = 1;
            newValue.instance         = instance;
            chancDB.CollectedFieldsValues.InsertOnSubmit(newValue);
            chancDB.SubmitChanges();
        }
        public void DelValueButtonClick(object sender, EventArgs e)
        {
            ImageButton delButton                  = (ImageButton)sender;
            int         id                         = Convert.ToInt32(delButton.CommandArgument);
            ChancelerryDBDataContext chancDb       = new ChancelerryDBDataContext();
            DictionarysValues        currentValues = (from a in chancDb.DictionarysValues
                                                      where a.dictionaryValueID == id
                                                      select a).FirstOrDefault();

            if (currentValues != null)
            {
                currentValues.active = false;
                chancDb.SubmitChanges();
            }
            divForTable.Controls.Clear();
            divForTable.Controls.Add(CreateTable(Convert.ToInt32(DictionarysList.SelectedValue)));
        }
        public void SaveValueButtonClick(object sender, EventArgs e)
        {
            ImageButton saveButton                 = (ImageButton)sender;
            int         id                         = Convert.ToInt32(saveButton.CommandArgument);
            ChancelerryDBDataContext chancDb       = new ChancelerryDBDataContext();
            DictionarysValues        currentValues = (from a in chancDb.DictionarysValues
                                                      where a.dictionaryValueID == id
                                                      select a).FirstOrDefault();

            if (currentValues != null)
            {
                TextBox myTextBox = (TextBox)divForTable.FindControl("dictValue_" + id);
                currentValues.value = myTextBox.Text;
                chancDb.SubmitChanges();
            }
            divForTable.Controls.Clear();
            divForTable.Controls.Add(CreateTable(Convert.ToInt32(DictionarysList.SelectedValue)));
        }
Example #8
0
        private void DeleteCard(object sender, EventArgs e)
        {
            ImageButton thisButton    = (ImageButton)sender;
            int         currentCardId = Convert.ToInt32(thisButton.Attributes["_cardID"]);

            HttpContext.Current.Session["cardID"] = currentCardId;

            ChancelerryDBDataContext dataContext = new ChancelerryDBDataContext();

            var card = (from c in dataContext.CollectedCards
                        where
                        c.fk_register == (int)HttpContext.Current.Session["registerID"] &&
                        c.collectedCardID == currentCardId
                        select c).FirstOrDefault();

            if (card != null)
            {
                card.active = false;
            }

            dataContext.SubmitChanges();

            HttpContext.Current.Response.Redirect("~/kanz/RegisterView.aspx", true);
        }
Example #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var userID = Session["userID"];

            if (userID == null)
            {
                Response.Redirect("~/Default.aspx");
            }
            ///////////////////////////////////////////
            if (!Page.IsPostBack)
            {
                Session["searchList"] = new List <TableActions.SearchValues>();
                DataTable dataTable = new DataTable();
                dataTable.Columns.Add(new DataColumn("fieldId", typeof(int)));
                dataTable.Columns.Add(new DataColumn("fieldName", typeof(string)));
                dataTable.Columns.Add(new DataColumn("fieldWeight", typeof(double)));
                dataTable.Columns.Add(new DataColumn("fieldIsAdd", typeof(bool)));

                using (ChancelerryDBDataContext dataContext = new ChancelerryDBDataContext())
                {
                    //кусок Ваге // создаем для пользователя все связи к выбранному регистру если их нет
                    List <Fields> allFieldsInTable = (from a in dataContext.Fields
                                                      join b in dataContext.FieldsGroups
                                                      on a.fk_fieldsGroup equals b.fieldsGroupID
                                                      join c in dataContext.RegistersModels
                                                      on b.fk_registerModel equals c.registerModelID
                                                      join d in dataContext.Registers
                                                      on c.registerModelID equals d.fk_registersModel
                                                      where a.active == true &&
                                                      b.active == true &&
                                                      c.active == true &&
                                                      d.active == true &&
                                                      d.registerID == (int)Session["registerID"]
                                                      select a).Distinct().ToList();
                    List <Fields> allFieldsWithUser = (from a in dataContext.Fields
                                                       join b in dataContext.RegistersView on a.fieldID equals b.fk_field
                                                       join c in dataContext.RegistersUsersMap on b.fk_registersUsersMap equals c.registersUsersMapID
                                                       where
                                                       a.active == true &&
                                                       c.active == true
                                                       // && b.active == tr
                                                       && c.fk_register == (int)Session["registerID"] &&
                                                       c.fk_user == (int)Session["userID"]
                                                       select a).ToList();
                    RegistersUsersMap registerUserMap = (from a in dataContext.RegistersUsersMap
                                                         where a.active &&
                                                         a.fk_user == (int)Session["userID"] &&
                                                         a.fk_register == (int)Session["registerID"]
                                                         select a).FirstOrDefault();


                    foreach (Fields currentField in allFieldsInTable)
                    {
                        if (allFieldsWithUser.Contains(currentField))
                        {
                            continue;
                        }
                        else
                        {
                            RegistersView registersView = new RegistersView();
                            registersView.active = true;
                            registersView.fk_registersUsersMap = registerUserMap.registersUsersMapID;
                            registersView.fk_field             = currentField.fieldID;
                            registersView.weight = 0;
                            dataContext.RegistersView.InsertOnSubmit(registersView);
                            dataContext.SubmitChanges();
                        }
                    }

                    /*
                     * // Кусок Ваге окончен :)
                     * // Все возможные поля для таблицы в данном реестре
                     * var all = (from a in dataContext.Fields
                     *           join b in dataContext.RegistersView on a.fieldID equals b.fk_field
                     *           join c in dataContext.RegistersUsersMap on b.fk_registersUsersMap equals c.registersUsersMapID
                     *           where c.fk_register == (int)Session["registerID"]
                     *           select new {a.fieldID, a.name, b.weight}).Distinct();
                     *
                     * // Уже прикрученные поля к этому пользователю
                     * var userView = (from a in dataContext.Fields
                     *    join b in dataContext.RegistersView on a.fieldID equals b.fk_field
                     *    join c in dataContext.RegistersUsersMap on b.fk_registersUsersMap equals c.registersUsersMapID
                     *    where c.fk_register == (int)Session["registerID"] && c.fk_user == (int)Session["userID"] && b.active
                     *    select a.fieldID).Distinct().ToList();
                     *
                     * var allCross = new List<ViewFieldData>();
                     *
                     * // Проходим по всем полям
                     * foreach (var qwe in all)
                     * {
                     *    // Если это поле прикручено к таблице этого реестра и этому пользователю в ТАБЛИЦЕ RegisterView, то отмечаем его с галочкой Checked true
                     *    allCross.Add(userView.Contains(qwe.fieldID)
                     *        ? new ViewFieldData()
                     *        {
                     *            id = qwe.fieldID,
                     *            name = qwe.name,
                     *            weight = qwe.weight,
                     *            isAdd = true
                     *        }
                     *        // если нет то с галочкой UnChecked false
                     *        : new ViewFieldData()
                     *        {
                     *            id = qwe.fieldID,
                     *            name = qwe.name,
                     *            weight = qwe.weight,
                     *            isAdd = false
                     *        });
                     * }
                     *
                     * // Проходим по allCross, добавляем дааные из него в таблицу
                     *
                     * foreach (var item in allCross)
                     * {
                     *    DataRow dataRow = dataTable.NewRow();
                     *    dataRow["fieldId"] = item.id;
                     *    dataRow["fieldName"] = item.name;
                     *    dataRow["fieldWeight"] = item.weight;
                     *    dataRow["fieldIsAdd"] = item.isAdd;
                     *    dataTable.Rows.Add(dataRow);
                     * }
                     */

                    foreach (var item in allFieldsWithUser)
                    {
                        DataRow dataRow = dataTable.NewRow();
                        dataRow["fieldId"]     = item.fieldID;
                        dataRow["fieldName"]   = item.name;
                        dataRow["fieldWeight"] = (from a in dataContext.RegistersView
                                                  where
                                                  a.fk_registersUsersMap == registerUserMap.registersUsersMapID &&
                                                  a.fk_field == item.fieldID
                                                  //&& a.active == true
                                                  select a.weight).FirstOrDefault();
                        dataRow["fieldIsAdd"] = (from a in dataContext.RegistersView
                                                 where
                                                 a.fk_registersUsersMap == registerUserMap.registersUsersMapID &&
                                                 a.fk_field == item.fieldID
                                                 //&& a.active == true
                                                 select a.active).FirstOrDefault();
                        dataTable.Rows.Add(dataRow);
                    }

                    GridView1.DataSource   = dataTable;
                    ViewState["Gridview1"] = dataTable;
                    GridView1.DataBind();
                }
            }
        }