public bool DeleteTag(Guid tagId) { if (tagId == Guid.Empty) throw new FaultException("Unable to delete tag because the passed in id was empty"); TaskrDataContext db = new TaskrDataContext(ConfigurationProvider.GetConnection("Taskr")); Tag tag = db.Tags.SingleOrDefault(t => t.Id == tagId); if (tag == null) { throw new FaultException(string.Format("Tag with id {0} not exist", tagId)); } try { db.Tags.DeleteOnSubmit(tag); db.SubmitChanges(); return true; } catch { return false; } }
public Guid SaveTag(TagDTO tag) { Guid tagId = Guid.Empty; if (tag == null) throw new FaultException("Unable to save null tag."); TaskrDataContext db = new TaskrDataContext(ConfigurationProvider.GetConnection("Taskr")); if (tag.Id == Guid.Empty) { Tag _tag = tag.MapTo(); tagId = _tag.Id; db.Tags.InsertOnSubmit(_tag); } else { Tag _tag = db.Tags.SingleOrDefault(t => t.Id == tag.Id); tag.MapInto(_tag); tagId = _tag.Id; } db.SubmitChanges(); return tagId; }
public Guid SaveTask(TaskDTO task) { Guid taskId = Guid.Empty; if (task == null) throw new FaultException("Unable to save null task"); TaskrDataContext db = new TaskrDataContext(ConfigurationProvider.GetConnection("Taskr")); if (task.Id == Guid.Empty) { //If a new task is created, instruct SaaSGrid to adjust the limit counter appriopriately. MeterStatus result = SubscriptionContext.Instance.IncrementLimitCounter(Constants.FeatureNumberOfTasks); if (MeterStatus.NotExhausted == result) { try { Task _task = task.MapTo(); db.Tasks.InsertOnSubmit(_task); db.SubmitChanges(); taskId = _task.Id; } catch { SubscriptionContext.Instance.DecrementLimitCounter(Constants.FeatureNumberOfTasks); throw; } } else { throw new LimiterExhaustedException ( Constants.FeatureNumberOfTasks, result, Home.Resources.Task_MaximumLimitReached ); } } else { Task existingTask = db.Tasks.SingleOrDefault(t => t.Id == task.Id); task.MapInto(existingTask); db.SubmitChanges(); taskId = existingTask.Id; } return taskId; }