public async Task <IActionResult> UpdatePushNotification([ModelBinder(typeof(JsonModelBinder <PushNotificationDto>))] Delta <PushNotificationDto> pushNotificationDelta) { if (!ModelState.IsValid) { return(await Error()); } var currentPushNotification = _pushNotificationApiService.GetPushNotificationById(pushNotificationDelta.Dto.Id); if (currentPushNotification == null) { return(await Error(HttpStatusCode.NotFound, "push_notification", "not found")); } pushNotificationDelta.Merge(currentPushNotification); //stores if (pushNotificationDelta.Dto.StoreIds.Count > 0) { await AddValidStores(pushNotificationDelta, currentPushNotification); } _pushNotificationService.UpdatePushNotification(currentPushNotification); await UserActivityService.InsertActivityAsync("EditPushNotification", $"Edited a push notification (ID = {currentPushNotification.Id})", currentPushNotification); var rootObj = new PushNotificationRootObject(); rootObj.PushNotifications.Add(currentPushNotification.ToDto()); var json = JsonFieldsSerializer.Serialize(rootObj, string.Empty); return(new RawJsonActionResult(json)); }
public async Task <IActionResult> CreatePushNotification([ModelBinder(typeof(JsonModelBinder <PushNotificationDto>))] Delta <PushNotificationDto> pushNotificationDelta) { if (!ModelState.IsValid) { return(await Error()); } var newPushNotification = new PushNotification(); pushNotificationDelta.Merge(newPushNotification); await _pushNotificationService.InsertPushNotification(newPushNotification); //stores if (pushNotificationDelta.Dto.StoreIds.Count > 0) { await AddValidStores(pushNotificationDelta, newPushNotification); _pushNotificationService.UpdatePushNotification(newPushNotification); } await UserActivityService.InsertActivityAsync("AddNewPushNotification", $"Added a new push notification (ID = {newPushNotification.Id})", newPushNotification); var rootObj = new PushNotificationRootObject(); rootObj.PushNotifications.Add(newPushNotification.ToDto()); var json = JsonFieldsSerializer.Serialize(rootObj, string.Empty); return(new RawJsonActionResult(json)); }
public async Task <IActionResult> GetPushNotifications(PushNotificationsParametersModel parameters) { if (parameters.Limit < Configurations.MinLimit || parameters.Limit > Configurations.MaxLimit) { return(await Error(HttpStatusCode.BadRequest, "limit", "Invalid limit parameter")); } if (parameters.Page < Configurations.DefaultPageValue) { return(await Error(HttpStatusCode.BadRequest, "page", "Invalid request parameters")); } IList <PushNotificationDto> pushNotificationDto = _pushNotificationApiService.GetPushNotifications( parameters.CreatedAtMin, parameters.CreatedAtMax, parameters.Limit, parameters.Page, parameters.SinceId, parameters.StoreIds, parameters.StartTime, parameters.EndTime) .Select(pn => pn.ToDto()).ToList(); var rootObj = new PushNotificationRootObject { PushNotifications = pushNotificationDto }; var json = JsonFieldsSerializer.Serialize(rootObj, parameters.Fields); return(new RawJsonActionResult(json)); }
protected async Task <IActionResult> RootObjectResult(IList <PushNotificationDto> entities, string fields) { var rootObj = new PushNotificationRootObject { PushNotifications = entities }; var json = JsonFieldsSerializer.Serialize(rootObj, fields); return(await Task.FromResult <IActionResult>(new RawJsonActionResult(json))); }
public async Task <IActionResult> GetPushNotificationById(int id, string fields = "") { if (id <= 0) { return(await Error(HttpStatusCode.BadRequest, "id", "invalid id")); } var pn = _pushNotificationApiService.GetPushNotificationById(id); if (pn == null) { return(await Error(HttpStatusCode.NotFound, "push_notification", "not found")); } var rootObj = new PushNotificationRootObject(); rootObj.PushNotifications.Add(pn.ToDto()); var json = JsonFieldsSerializer.Serialize(rootObj, fields); return(new RawJsonActionResult(json)); }