Разработка подсистемы документооборота в системе управления проектами сервисной компании

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ntPoint.X, clientPoint.Y).RowIndex;(docsTgv.Rows[rowIndexOfItemUnderMouseToDrop].Tag.GetType() == typeof(Positions))//Если на позицию

listPositions=e.Data.GetData(typeof(List; (listPositions == null)//Драгаем группу

MessageBox.Show("Невозможно перетащить группы в позицию");

else//Драгаем позицию

{targetPosition = (Positions)docsTgv.Rows[rowIndexOfItemUnderMouseToDrop].Tag;

for (int i = 0; i < listPositions.Count; i++)//Проверка: Невозможно переместить позиции на самих себя

if (listPositions[i] == targetPosition);flagOneGroupOneLevel = false;(int i = 0; i < listPositions.Count; i++)//Проверка: принадлежат одной группе и находятся на одном уровне

{(listPositions[i].pg_pg_id == targetPosition.pg_pg_id && listPositions[i].pos_pos_id == targetPosition.pos_pos_id)= true;

{= false;

MessageBox.Show("Перемещение позиций возможно только в рамках группы и на одном уровне");

return;

}

}(flagOneGroupOneLevel)//Если принадлежат

{= false;orderNumberToChange = targetPosition.order_number;

//for ()(targetPosition.order_number < getMinOrderNumberFromList(listPositions))//Меняем местами - Цель вверху, Элементы, которые тянем внизу.

{(int i = 0; i < listPositions.Count; i++)

{[i].order_number = orderNumberToChange + i;.Update(listPositions[i]);(i == listPositions.Count - 1).order_number = orderNumberToChange + i + 1;

}.Update(targetPosition);.CommitChanges();ParentNode = docsTgv.GetNodeForRow(rowIndexOfItemUnderMouseToDrop).Parent;.Nodes.Clear();(ParentNode.Tag.GetType() == typeof(Pos_group))//Если родитель - группа(ParentNode);

getMaxOrderNumberFromList(listPositions))//-,,.">}if (targetPosition.order_number > getMaxOrderNumberFromList(listPositions))//Меняем местами - Элементы, которые тянем вверху, Цель внизу.

{.order_number = getMinOrderNumberFromList(listPositions);(int i = 0; i < listPositions.Count; i++)

{[i].order_number = orderNumberToChange + i;.Update(listPositions[i]);

}.Update(targetPosition);.CommitChanges();ParentNode = docsTgv.GetNodeForRow(rowIndexOfItemUnderMouseToDrop).Parent;.Nodes.Clear();(ParentNode.Tag.GetType() == typeof(Pos_group))//Если родитель - группа(ParentNode);

}

}.Show("Перемещение позиций возможно только в рамках группы");

}

}

}getMinOrderNumberFromList(List list)

{min = 9999;(int i = 0; i < list.Count; i++)(list[i].order_number < min)= list[i].order_number;min;

}getMaxOrderNumberFromList(List list)

max)=list[i].order_number;max;">{max = -9999;(int i = 0; i max)= list[i].order_number;max;

}recursionAddChildrenToGroup(TreeGridNode parentGroupNode)

listPositionsFact=connector.getAllDataFromDB("PositionsASposWHEREpos.delISNULLANDpos.post_post_id="+parentGroup.pt_pt_id.pos_type_id+"ANDpos.pos_pos_idISNULLANDpos.pg_pg_id="+parentGroup.pg_id+"ORDERBYorder_number").ConvertAll(newConverter(ConverterPositions));(int i = 0; i < listPositionsFact.Count; i++)

{nodeChild = parentGroupNode.Nodes.Add(listPositionsFact[i].article, listPositionsFact[i].name, listPositionsFact[i].um_um_id.short_name, listPositionsFact[i].count,[i].val_val_id.name, listPositionsFact[i].price, listPositionsFact[i].summa, listPositionsFact[i].stat_stat_id.name, listPositionsFact[i].delivery,[i].cancel, listPositionsFact[i].official);.Tag = listPositionsFact[i];(nodeChild, listPositionsFact[i].pos_id, listPositionsFact[i].post_post_id, listPositionsFact[i].pg_pg_id);

}

}

#endregion

#region Члены ISessionableConnector Connector

{

{connector;

}

{.connector = value;

}

}ISessionable SessionableTabPage

{

{this;

}

{new NotImplementedException();

}

}void updateView(bool onlyDetailTables)

{

#region Инициализация компонентов (docsTGV, factsDGV)

#region Заполнение ComboBox-ов

//Заполнение комбобокса "Статус"

((DataGridViewComboBoxColumn)docsTgv.Columns[7]).Items.Clear();

listStatuses=connector.getAllDataFromDB("Statuses").ConvertAll(newConverter(ConverterStatuses));(int i = 0; i < listStatuses.Count; i++)

{

((DataGridViewComboBoxColumn)docsTgv.Columns[7]).Items.Add(listStatuses[i].name);

((DataGridViewComboBoxColumn)factTgv.Columns[7]).Items.Add(listStatuses[i].name);

}

//Заполнение комбобокса "Единица измерения"

((DataGridViewComboBoxColumn)docsTgv.Columns[2]).Items.Clear();

listUnits_measur=connector.getAllDataFromDB("Units_measur").ConvertAll(newConverter(ConverterUnits_measur));(int i = 0; i < listUnits_measur.Count; i++)

{

((DataGridViewComboBoxColumn)docsTgv.Columns[2]).Items.Add(listUnits_measur[i].short_name);

((DataGridViewComboBoxColumn)factTgv.Columns[2]).Items.Add(listUnits_measur[i].short_name);

}

//Заполнение комбобокса "Валюта"

((DataGridViewComboBoxColumn)docsTgv.Columns[4]).Items.Clear();

listValuta=connector.getAllDataFromDB("Valuta").ConvertAll(newConverter(ConverterValuta));(int i = 0; i < listValuta.Count; i++)

{

((DataGridViewComboBoxColumn)docsTgv.Columns[4]).Items.Add(listValuta[i].name);

((DataGridViewComboBoxColumn)factTgv.Columns[4]).Items.Add(listValuta[i].name);

}

#endregion

listPos_group2=connector.getAllDataFromDB("Pos_groupASpgWHEREpg.pt_pt_id=2ANDpg.cs_cs_id="+ParentContractSpec.cs_id).ConvertAll(newConverter(ConverterPos_group));(int j = 0; j < listPos_group2.Count; j++)

listPositionsFact=connector.getAllDataFromDB("PositionsASposWHEREpos.delISNULLANDpos.post_post_id=2ANDpos.pos_pos_idISNULLANDpos.pg_pg_id="+listPos_group2[j].pg_id+"ANDpos.cs_cs_id="+ParentContractSpec.cs_id+"ORDERBYpos.order_numberasc").ConvertAll(newConverter listPositionsFact = connector.getAllDataFromDB("Positions AS pos WHERE pos.del IS NULL AND pos.post_post_id=2 AND pos.pos_pos_id IS NULL AND pos.pg_pg_id = " + listPos_group2[j].pg_id + " AND pos.cs_cs_id = "+ParentContractSpec.cs_id+" ORDER BY po