public async Task <IHttpActionResult> PostNotificationSettings(NotificationSettingJson notificationSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            User   user   = db.User.Find(notificationSetting.UserId);
            Valuta valuta = db.Valuta.Find(notificationSetting.ValutaId);
            NotificationSetting newNotificationSetting = new NotificationSetting {
                Push = notificationSetting.Push, TargetAmount = notificationSetting.TargetAmount, Valuta = valuta
            };

            user.NotificationSettings.Add(newNotificationSetting);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = newNotificationSetting.Id }, newNotificationSetting));
        }
        public async Task <IHttpActionResult> PutNotificationSettings(int id, NotificationSettingJson notificationSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != notificationSetting.Id)
            {
                return(BadRequest());
            }

            User user = db.User.SingleOrDefault(u => u.Id == notificationSetting.UserId);
            NotificationSetting notificationSettingOfUser = user.NotificationSettings.Where(ns => ns.Id == notificationSetting.Id).FirstOrDefault();

            if (notificationSettingOfUser.TargetAmount != notificationSetting.TargetAmount)
            {
                notificationSettingOfUser.TargetAmount = notificationSetting.TargetAmount;
            }

            if (notificationSettingOfUser.Push != notificationSetting.Push)
            {
                notificationSettingOfUser.Push = notificationSetting.Push;
            }

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!NotificationSettingExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }