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"); }
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(); }
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))); }
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))); }
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); }
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(); } } }