public void Edit() { if (SelectedDataItem != null) { var item = SelectedDataItem; for (int i = 0; i < Roles.Count; i++) { var role = GroupRolesSource.Where(x => x.RoleId == Roles[i].RoleId).FirstOrDefault(); if (role != null) { var groupRoles = GroupRoles.Where(x => x.GrolrRoleIdFk == Roles[i].RoleId && x.GrolrGIdFk == item.GId).FirstOrDefault(); Roles[i].IsChecked = true; Roles[i].GroleAdd = groupRoles.GroleAdd; Roles[i].GroleEdit = groupRoles.GroleEdit; Roles[i].GroleDelete = groupRoles.GroleDelete; Roles[i].GroleExport = groupRoles.GroleExport; Roles[i].GrolePrint = groupRoles.GrolePrint; Roles[i].GroleView = groupRoles.GroleView; } else { Roles[i].IsChecked = false; Roles[i].GroleAdd = false.ToIntState(); Roles[i].GroleEdit = false.ToIntState(); Roles[i].GroleDelete = false.ToIntState(); Roles[i].GroleExport = false.ToIntState(); Roles[i].GrolePrint = false.ToIntState(); Roles[i].GroleView = false.ToIntState(); } } VGroupsEdit edit = new VGroupsEdit(Roles, item); if (edit.ShowDialog() == true) { var dataContext = edit.DataContext as VMGroupsEdit; DataGridSource.Remove(SelectedDataItem); DataGridSource.Add(dataContext.EditGroup); GroupRoles.RemoveAll(x => x.GrolrGIdFk == item.GId); GroupRoles.AddRange(dataContext.DataGridSource.Where(x => x.RoleSelected()).Select(x => x.ToGroupRoles(item.GId))); } GroupRolesSource.Clear(); } }
public void Edit() { var person = new PersonsModel() { PeId = SelectedDataItem.PeId, PeAddress = SelectedDataItem.PeAddress, IsChecked = SelectedDataItem.IsChecked, PeIdentity = SelectedDataItem.PeIdentity, PeName = SelectedDataItem.PeName, PeType = SelectedDataItem.PeType, }; VPersonEdit edit = new VPersonEdit(person, PersonsTypes, CommTypes, PersonsCommunication.Where(x => x.CoPeIdFk == person.PeId).ToList()); if (edit.ShowDialog() == true) { var dataContext = edit.DataContext as VMPersonEdit; Persons.Remove(SelectedDataItem); DataGridSource.Remove(SelectedDataItem); PersonsCommunication.RemoveAll(x => x.CoPeIdFk == dataContext.EditedPerson.PeId); PersonsCommunication.AddRange(dataContext.AddedCommunication); PersonsAddress.RemoveAll(x => x.PeAdPerIdFk == dataContext.EditedPerson.PeId); PersonsAddress.AddRange(dataContext.AddedAddress); var adress = PersonsAddress.Where(x => x.PeAdPerIdFk == dataContext.EditedPerson.PeId).FirstOrDefault(); if (adress != null) { dataContext.EditedPerson.PeAddress = $"{adress.PeAdCity} - {adress.PeAdStreetName}"; } dataContext.EditedPerson.Type = PersonsTypes.Where(x => x.CId == dataContext.EditedPerson.PeType).FirstOrDefault().CName; var communication = PersonsCommunication.Where(x => x.CoPeIdFk == dataContext.EditedPerson.PeId); dataContext.EditedPerson.PhoneNo = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Phone)).FirstOrDefault()?.CoValue; dataContext.EditedPerson.MobileNo = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Mobile)).FirstOrDefault()?.CoValue; dataContext.EditedPerson.Email = communication.Where(x => x.CoNameCfk.Equals(SystemValues.Communications.Emial)).FirstOrDefault()?.CoValue; Persons.Add(dataContext.EditedPerson); DataGridSource.Add(dataContext.EditedPerson); SelectedDataItem = dataContext.EditedPerson; } }
private void DeleteRow() { DataGridSource.Remove(selectedDataGridItem); }