public ReturnModel <RoadmapItem> UpdateItem(RoadmapItem roadmapItem) { var result = new ReturnModel <RoadmapItem>(); try { var updateRoadmapItem = new RoadmapItem() { Title = roadmapItem.Title, Description = roadmapItem.Description, TargetDate = roadmapItem.TargetDate, EndDate = roadmapItem.EndDate, RoadmapId = roadmapItem.RoadmapId, Status = 1, ParentId = roadmapItem.ParentId }; repository.Add(updateRoadmapItem); Save(); result.Data = updateRoadmapItem; } catch (Exception ex) { result.IsSuccess = false; result.Exception = ex; result.Message = ex.Message; } return(result); }
public ReturnModel <RoadmapItem> Create(RoadmapItem roadmapItem) { var result = new ReturnModel <RoadmapItem>(); try { var item = new RoadmapItem() { Title = roadmapItem.Title, RoadmapId = roadmapItem.RoadmapId, ParentId = roadmapItem.ParentId }; if (roadmapItem.Order > 0) { item.Order = roadmapItem.Order; var afterItems = repository.AsIQueryable(x => x.RoadmapId == roadmapItem.RoadmapId && x.ParentId == roadmapItem.ParentId && x.Status != (int)StatusEnum.DeletedRoadmapItem && (x.Order == item.Order || x.Order > item.Order)) .OrderBy(x => x.Order) .ToList(); if (afterItems != null && afterItems.Count > 0) { foreach (var after in afterItems) { after.Order += 1; repository.Update(after); } } } // En son sıraya ekler else { var parent = repository.AsIQueryable(x => x.RoadmapId == roadmapItem.RoadmapId && x.Status != (int)StatusEnum.DeletedRoadmapItem && x.ParentId == roadmapItem.ParentId) .OrderByDescending(x => x.Order) .FirstOrDefault(); if (parent != null) { item.Order = parent.Order + 1; } } repository.Add(item); Save(); result.Data = item; } catch (Exception exception) { result.IsSuccess = false; result.Exception = exception; result.Message = exception.Message; } return(result); }