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

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

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



GV в factsTGV

//Источник docsTgvvoid docsTgv_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)

-1&&e.ColumnIndex>-1)">{(e.RowIndex > -1 && e.ColumnIndex > -1)

{= false;timer = new Timer();.Interval = 50;.Tag = e.RowIndex;.Tick += DragTimerTick;.Start();

}

}void docsTgv_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)

-1&&e.ColumnIndex>-1)">{(e.RowIndex > -1 && e.ColumnIndex > -1)

{= true;

}

}void DragTimerTick(object sender, EventArgs e)

{

((Timer)sender).Stop();(!flagCellMouseUpped)

{

//Тащим несколько разных выделенных объектов И группы и ПозицииtypeofFirstAddedItem = docsTgv.SelectedRows[0].Tag.GetType(); //Либо тип группа - либо тип позиция

listGroups=newList();flagNeedToDrag =true;(int i = 0; i < docsTgv.SelectedRows.Count; i++)

{(docsTgv.SelectedRows[i].Tag.GetType() == typeofFirstAddedItem)

{(typeofFirstAddedItem == typeof(Pos_group)).Add((Pos_group)docsTgv.SelectedRows[i].Tag);.Add((Positions)docsTgv.SelectedRows[i].Tag);

}

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

return;

}

}(flagNeedToDrag)

0).DoDragDrop(listGroups,DragDropEffects.Copy);(listPositions.Count>0).DoDragDrop(listPositions,DragDropEffects.All);">{(listGroups.Count>0).DoDragDrop(listGroups, DragDropEffects.Copy);(listPositions.Count > 0).DoDragDrop(listPositions, DragDropEffects.All);

}

}

}

//Приемник factTgvvoid factTgv_DragEnter(object sender, DragEventArgs e)

{.Effect = DragDropEffects.Copy;

}void factTgv_DragDrop(object sender, DragEventArgs e)

{clientPoint = factTgv.PointToClient(new Point(e.X, e.Y));rowIndexOfItemUnderMouseToDrop = factTgv.HitTest(clientPoint.X, clientPoint.Y).RowIndex;

#region Если в пустое место(rowIndexOfItemUnderMouseToDrop == -1)//Если в пустое место

listGroups=e.Data.GetData(typeof(List;

if (listGroups == null)//Драгаем позицию.Show("Невозможно перетатащить позиции в корень групп");

else//Драгаем группу

{(int j = 0; j < listGroups.Count; j++)

listPositionsFact=connector.getAllDataFromDB("PositionsASposWHEREpos.delISNULLANDpos.post_post_id=1ANDpos.pos_pos_idISNULLANDpos.pg_pg_id="+listGroups[j].pg_id).ConvertAll(newConverter(ConverterPositions));(int i = 0; i < listPositionsFact.Count; i++)

{nodeChild = group.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);

}_group newGroup = new Pos_group();.name = ((Pos_group)group.Tag).name;.descript = ((Pos_group)group.Tag).descript;.cs_cs_id = ((Pos_group)group.Tag).cs_cs_id;.pt_pt_id = (Pos_type)connector.executeUniqueResultQuery("from Pos_type AS pt WHERE pt.pos_type_id =2");.Tag = newGroup;.Update(newGroup);(group);

}.CommitChanges();

}

}

#endregion

#region Если в группуif (factTgv.Rows[rowIndexOfItemUnderMouseToDrop].Tag.GetType() == typeof(Pos_group))//Если в группу

listPositions=e.Data.GetData(typeof(List;(listPositions == null)//Драгаем группу.Show("Невозможно перетащить группы в группу");//Драгаем позицию

{parent = factTgv.GetNodeForRow(rowIndexOfItemUnderMouseToDrop);//Получили нод, на который мы перетащили(int i = 0; i < listPositions.Count; i++)

{newChild = parent.Nodes.Add(listPositions[i].article, listPositions[i].name, listPositions[i].um_um_id.short_name, listPositions[i].count,[i].val_val_id.name, listPositions[i].price, listPositions[i].summa, listPositions[i].stat_stat_id.name, listPositions[i].delivery,[i].cancel, listPositions[i].official);.Tag = listPositions[i];(newChild, listPositions[i].pos_id, listPositions[i].post_post_id, listPositions[i].pg_pg_id);newPos = new Positions();.name = ((Positions)newChild.Tag).name;.article = ((Positions)newChild.Tag).article;.cancel = ((Positions)newChild.Tag).cancel;.count = ((Positions)newChild.Tag).count;.delivery = ((Positions)newChild.Tag).delivery;.official = ((Positions)newChild.Tag).official;.delivery = ((Positions)newChild.Tag).delivery;.price = ((Positions)newChild.Tag).price;.summa = ((Positions)newChild.Tag).summa;.stat_stat_id = ((Positions)newChild.Tag).stat_stat_id;.prop_prop_id = ((Positions)newChild.Tag).prop_prop_id;.um_um_id = ((Positions)newChild.Tag).um_um_id;.val_val_id = ((Positions)newChild.Tag).val_val_id;.cs_cs_id = ((Positions)newChild.Tag).cs_cs_id;.pg_pg_id = ((Pos_group)newChild.Parent.Tag);.post_post_id = ((Pos_group)newChild.Parent.Tag).pt_pt_id;

newPos.pos_pos_id = null;

newChild.Tag = newPos;.Update(newPos);(newChild);

}.CommitChanges();

}

}

#endregion

#region Если в позициюif (factTgv.Rows[rowIndexOfItemUnderMouseToDrop].Tag.GetType() == typeof(Positions))//Если в позицию

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

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

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

{

TreeGridNode parent = factTgv.GetNodeForRow(rowIndexOfItemUnderMouseToDrop);//Получили нод, на который мы перетащили

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

{newChild = parent.Nodes.Add(listPositions[i].article, listPositions[i].name, listPositions[i].um_um_id.short_name, listPositions[i].count,[i].val_val_id.name, listPositions[i].price, listPositions[i].summa, listPositions[i].stat_stat_id.name, listPositions[i].delivery,[i].cancel, listPositions[i].official);.Tag = listPositions[i];(newChild, listPositions[i].pos_id, listPositions[i].post_post_id, listPositions[i].pg_pg_id);newPos = new Positions();.name = ((Positions)newChild.Tag).name;.article = ((Positions)newChild.Tag).article;.cancel = ((Positions)newChild.Tag).cancel;.count = ((Positions)newChild.Tag).count;.delivery = ((Positions)newChild.Tag).delivery;.official = ((Positions)newChild.Tag).official;.delivery = ((Positions)newChild.Tag).delivery;.price = ((Positions)newChild.Tag).price;.summa = ((Positions)newChild.Tag).summa;.stat_stat_id = ((Positions)newChild.Tag).stat_stat_id;.prop_prop_id = ((Positions)newChild.Tag).prop_prop_id;.um_um_id = ((Positions)newChild.Tag).um_um_id;.val_val_id = ((Positions)newChild.Tag).val_val_id;.pg_pg_id = ((Positions)newChild.Parent.Tag).pg_pg_id;.post_post_id = ((Positions)newChild.Parent.Tag).post_post_id;.pos_pos_id = ((Positions)newChild.Parent.Tag);.cs_cs_id = ((Positions)newChild.Parent.Tag).cs_cs_id;.Tag = newPos;.Update(newPos);(newChild);

}.CommitChanges();

}

}

#endregion

}

#endregion

#region Drag and Drop внутри docsTGV

//Приемник docsTgvvoid docsTgv_DragEnter(object sender, DragEventArgs e)

{.Effect = DragDropEffects.Move;

}void docsTgv_DragDrop(object sender, DragEventArgs e)

{clientPoint = docsTgv.PointToClient(new Point(e.X, e.Y));rowIndexOfItemUnderMouseToDrop = docsTgv.HitTest(clie