/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public PCSubscription CreatePartnerCallSubscription(PCSubscription obj) { var place = CfCacheIndex.Get(obj.PlaceID); //-- Sanitize the call subscription based on place type if (place.Type.ToPlaceCateogry() == PlaceCategory.IndoorClimbing) { obj.ForOutdoor = false; } else if (place.Type.ToPlaceCateogry() == PlaceCategory.OutdoorClimbing) { obj.ForIndoor = false; } if (!obj.ForIndoor && !obj.ForOutdoor) { throw new ArgumentException("Cannot create a subscription without either indoor or outdoor climbing chosen."); } //-- Check not adding a duplicate subscription... //-- Check not adding related subscription?? obj.CreatedUtc = DateTime.UtcNow; obj.ID = Guid.NewGuid(); obj.UserID = CfIdentity.UserID; pcsRepo.Create(obj); return(obj); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public PCSubscription UpdatePartnerCallSubscription(PCSubscription obj) { if (obj.UserID != CfIdentity.UserID) { throw new UnauthorizedAccessException("Cannot update a partner call subscription that does not belong to you"); } return(obj); }
/// <summary> /// /// </summary> /// <param name="obj"></param> public void DeletePartnerCallSubscription(PCSubscription obj) { if (obj.UserID != CfIdentity.UserID) { throw new UnauthorizedAccessException("Cannot delete a partner call subscription that does not belong to you"); } pcsRepo.Delete(obj.ID); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public PCSubscription CreatePartnerCallSubscription(PCSubscription obj) { var place = CfCacheIndex.Get(obj.PlaceID); //-- Sanitize the call subscription based on place type if (place.Type.ToPlaceCateogry() == PlaceCategory.IndoorClimbing) { obj.ForOutdoor = false; } else if (place.Type.ToPlaceCateogry() == PlaceCategory.OutdoorClimbing) { obj.ForIndoor = false; } if (!obj.ForIndoor && !obj.ForOutdoor) { throw new ArgumentException("Cannot create a subscription without either indoor or outdoor climbing chosen."); } //-- Check not adding a duplicate subscription... //-- Check not adding related subscription?? obj.CreatedUtc = DateTime.UtcNow; obj.ID = Guid.NewGuid(); obj.UserID = CfIdentity.UserID; pcsRepo.Create(obj); return obj; }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <returns></returns> public PCSubscription UpdatePartnerCallSubscription(PCSubscription obj) { if (obj.UserID != CfIdentity.UserID) { throw new UnauthorizedAccessException("Cannot update a partner call subscription that does not belong to you"); } return obj; }