protected void grdFamily_HtmlDataCellPrepared(object sender, ASPxGridViewTableDataCellEventArgs e) { if (e.DataColumn.FieldName == "relationshipid") { ASPxLabel lblRelate = grdFamily.FindRowCellTemplateControl(e.VisibleIndex, e.DataColumn, "lblRelate") as ASPxLabel; lblRelate.Text = objRelation.GetRelationship(Int32.Parse(e.CellValue.ToString())).name; } }
protected void cbpnGiadinh_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e) { var cbpnGiadinh = sender as ASPxCallbackPanel; bool bChong = rbChong.Checked; List <FamilyRelationshipInfo> frListS1 = null; List <FamilyRelationshipInfo> frListS2 = null; List <FamilyRelationshipInfo> frListS3 = null; List <FamilyRelationshipInfo> frListS = null; List <FamilyRelationshipInfo> frListD1 = null; List <FamilyRelationshipInfo> frListD2 = null; List <FamilyRelationshipInfo> frListD3 = null; List <FamilyRelationshipInfo> frListD = null; int nhanvienDich = 0; int nhanvienNguon = 0; if (cbbSource.SelectedIndex != -1) { nhanvienNguon = Convert.ToInt32(cbbSource.SelectedItem.Value); frListS1 = frController.GetFamilyByEmployess(nhanvienNguon, 1); frListS2 = frController.GetFamilyByEmployess(nhanvienNguon, 2); frListS3 = frController.GetFamilyByEmployess(nhanvienNguon, 3); frListS = frListS1.Union(frListS2).Union(frListS3).ToList(); } if (cbbDest.SelectedIndex != -1) { nhanvienDich = Convert.ToInt32(cbbDest.SelectedItem.Value); frListD1 = frController.GetFamilyByEmployess(nhanvienDich, 1); frListD2 = frController.GetFamilyByEmployess(nhanvienDich, 2); frListD3 = frController.GetFamilyByEmployess(nhanvienDich, 3); frListD = frListD1.Union(frListD2).Union(frListD3).ToList(); } if (e.Parameter.StartsWith("TransferSelectedItem")) { if (frListD == null) { frListD = new List <FamilyRelationshipInfo>(); } var tempS = new List <FamilyRelationshipInfo>(); var tempD = new List <FamilyRelationshipInfo>(); string sourceItems = e.Parameter.Split(':')[1]; string destItems = e.Parameter.Split(':')[2]; string allItem = sourceItems + destItems; var tempList = frListS.ToList(); RemoveUnMap(tempList, frListD, bChong); foreach (string item in allItem.Split(',')) { if (string.IsNullOrEmpty(item)) { continue; } int rid = Convert.ToInt32(item); var ritem = tempList.Where(r => r.id == rid).FirstOrDefault(); if (ritem != null) { tempD.Add(ritem); } } for (int i = 0; i < tempD.Count; i++) { var ri = tempD[i]; int mrid = MapRelationshipId(ri.relationshipid, bChong); if (mrid == 0) { tempD.Remove(ri); } else { frListS.Remove(ri); ri.description = objRelation.GetRelationship(mrid).name; } } foreach (var ri in frListD) { ri.description = objRelation.GetRelationship(ri.relationshipid).name; } frListD = frListD.Union(tempD).ToList(); lbRelativeDest.DataSource = frListD; lbRelativeDest.DataBind(); foreach (var ri in frListS) { ri.description = objRelation.GetRelationship(ri.relationshipid).name; } lbRelativeSource.DataSource = frListS; lbRelativeSource.DataBind(); cbpnGiadinh.JSProperties["cpOP"] = 0; } else if (e.Parameter.StartsWith("RemoveSelectedItem")) { if (frListD == null) { frListD = new List <FamilyRelationshipInfo>(); } var tempS = new List <FamilyRelationshipInfo>(); var tempD = new List <FamilyRelationshipInfo>(); string sourceItems = e.Parameter.Split(':')[1]; string destRemoveItems = e.Parameter.Split(':')[2]; string destItems = e.Parameter.Split(':')[3]; string allItem = sourceItems + destItems; List <int> tempSrcIdList = new List <int>(); List <int> tempDestRemoveIdList = new List <int>(); List <int> tempDestAllIdList = new List <int>(); foreach (var strItem in sourceItems.Split(',')) { if (string.IsNullOrEmpty(strItem)) { continue; } int id = Convert.ToInt32(strItem); var item = frListS.Where(r => r.id == id).FirstOrDefault(); if (item != null) { tempSrcIdList.Add(id); } } foreach (var strItem in destRemoveItems.Split(',')) { if (string.IsNullOrEmpty(strItem)) { continue; } int id = Convert.ToInt32(strItem); var item = frListD.Where(r => r.id == id).FirstOrDefault(); if (item == null) { tempDestRemoveIdList.Add(id); } } foreach (var strItem in destItems.Split(',')) { if (string.IsNullOrEmpty(strItem)) { continue; } int id = Convert.ToInt32(strItem); var item = frListD.Where(r => r.id == id).FirstOrDefault(); if (item == null) { tempDestAllIdList.Add(id); } } tempSrcIdList = tempSrcIdList.Union(tempDestRemoveIdList).ToList(); tempDestAllIdList = tempDestAllIdList.Except(tempDestRemoveIdList).ToList(); foreach (var id in tempSrcIdList) { var ri = frController.GetFamilyRelationship(id); ri.description = objRelation.GetRelationship(ri.relationshipid).name; tempS.Add(ri); } foreach (var id in tempDestAllIdList) { var ri = frController.GetFamilyRelationship(id); int mrid = MapRelationshipId(ri.relationshipid, bChong); ri.description = objRelation.GetRelationship(mrid).name; tempD.Add(ri); } lbRelativeSource.DataSource = tempS; lbRelativeSource.DataBind(); foreach (var ri in frListD) { ri.description = objRelation.GetRelationship(ri.relationshipid).name; } frListD = frListD.Union(tempD).ToList(); lbRelativeDest.DataSource = frListD; lbRelativeDest.DataBind(); } else if (e.Parameter.StartsWith("LR")) { if (frListS != null) { foreach (var ri in frListS) { ri.description = objRelation.GetRelationship(ri.relationshipid).name; } lbRelativeSource.DataSource = frListS; lbRelativeSource.DataBind(); } if (frListD != null) { foreach (var ri in frListD) { ri.description = objRelation.GetRelationship(ri.relationshipid).name; } lbRelativeDest.DataSource = frListD; lbRelativeDest.DataBind(); } cbpnGiadinh.JSProperties["cpOP"] = 0; } else if (e.Parameter.StartsWith("Save")) { try { if (frListS == null) { return; } if (frListD == null) { frListD = new List <FamilyRelationshipInfo>(); } string destItems = e.Parameter.Split(':')[1]; var tempList = new List <FamilyRelationshipInfo>(); List <int> frDestIdList = new List <int>(); foreach (string stritem in destItems.Split(',')) { if (string.IsNullOrEmpty(stritem)) { continue; } int id = Convert.ToInt32(stritem); var item = frListD.Where(r => r.id == id).FirstOrDefault(); if (item == null) { frDestIdList.Add(id); } } foreach (var id in frDestIdList) { var item = frController.GetFamilyRelationship(id); int rid = MapRelationshipId(item.relationshipid, bChong); if (rid == 0) { continue; } item.relationshipid = rid; item.employeeid = nhanvienDich; frController.AddFamilyRelationship(item); } FamilyRelationshipInfo fri = new FamilyRelationshipInfo(); var emp = objEmployees.GetEmployees(nhanvienNguon); if (bChong) { //them thong tin chong fri.fullname = emp.fullname; fri.employeeid = nhanvienDich; fri.address = emp.placeofcurrent; fri.birthday = String.Format("{0:yyyy}", emp.birthday);; fri.occupation = emp.occupation; fri.placeofbirth = emp.placeofbirth; fri.relationshipid = 10; //10 = chong } else { //them thong tin vo fri.fullname = emp.fullname; fri.employeeid = nhanvienDich; fri.address = emp.placeofcurrent; fri.birthday = String.Format("{0:yyyy}", emp.birthday); fri.occupation = emp.occupation; fri.placeofbirth = emp.placeofbirth; fri.relationshipid = 11; //11 = vo } frController.AddFamilyRelationship(fri); cbpnGiadinh.JSProperties["cpOP"] = 1; } catch { cbpnGiadinh.JSProperties["cpOP"] = 2; } } }