public Boolean VirtualDeleteActivity(long idProject, long idActivity, List <dtoLiteMapActivity> activities) { Boolean result = false; if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { dtoLiteMapActivity activity = activities.Where(a => a.IdActivity == idActivity).FirstOrDefault(); if (Service.SetActivityVirtualDelete(idActivity, true)) { result = true; View.SendUserAction(View.ProjectIdCommunity, CurrentIdModule, idProject, ModuleProjectManagement.ActionType.ActivityVirtualDelete); } else { if (activity != null) { View.DisplayUnableToRemoveActivity((activity != null) ? activity.Current.Name : "", GetChildrenCount(idActivity, activities)); } } } return(result); }
private void setChildrenDelete(dtoLiteMapActivity activity, List <dtoLiteMapActivity> activities) { activity.IsDeleted = true; foreach (dtoLiteMapActivity child in activities.Where(a => a.IdParent == activity.IdActivity)) { setChildrenDelete(child, activities); } }
private void LoadLinks(dtoActivity dto, List <dtoLiteMapActivity> activities, Boolean firstLoad = false) { foreach (dtoActivityLink l in dto.Links) { dtoLiteMapActivity act = activities.Where(a => a.IdActivity == l.IdTarget).FirstOrDefault(); if (act != null) { l.Name = (String.IsNullOrEmpty(act.Current.Name) ? act.Previous.Name : act.Current.Name); l.RowNumber = act.RowNumber; l.AllowDelete = dto.Permission.SetPredecessors; } else { l.Id = 0; } } List <long> idPredecessors = Service.GetAvailableIdPredecessors(dto, activities).Where(id => !dto.Links.Where(l => l.IdTarget == id).Any()).ToList(); if (firstLoad) { View.LoaderLinks = dto.Links; } View.LoadAvailableLinks(activities.Where(a => idPredecessors.Contains(a.IdActivity)).ToDictionary(a => a.IdActivity, act => act.RowNumber + " - " + (String.IsNullOrEmpty(act.Current.Name) ? act.Previous.Name : act.Current.Name)), dto.Links.Where(l => l.Id > 0).ToList()); }