示例#1
0
 private void CheckAuth()
 {
     // TODO auth - meanwhile I use this
     if (UtilApi.GetHeaderValue(Request, "expensetracker-api-token") == null ||
         UtilApi.GetHeaderValue(Request, "expensetracker-api-token") != ConfigurationManager.AppSettings.Get("expensetracker-api-token"))
     {
         throw new HttpResponseException(HttpStatusCode.Unauthorized);
     }
 }
        // GET api/PaymentTypes
        public async Task <IEnumerable <PaymentType> > GetAsync()
        {
            CheckAuth();

            MongoHelper <PaymentType> paymentTypeHelper = new MongoHelper <PaymentType>();

            List <PaymentType> paymentTypeList =
                await paymentTypeHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName"))
                .ToListAsync();


            return(paymentTypeList);
        }
示例#3
0
        // GET api/Expenses
        public async Task <IEnumerable <Expense> > GetAsync()
        {
            CheckAuth();

            MongoHelper <Expense> expenseHelper = new MongoHelper <Expense>();

            List <Expense> expenseList =
                await expenseHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName"))
                .ToListAsync();


            // test
            // List<Expense> expenseList = new List<Expense>() { new Expense() { Date = DateTime.Now, UserName = "******", Description = "web test" } };


            return(expenseList);
        }
示例#4
0
        // GET api/Expenses
        public async Task <IEnumerable <string> > GetAsync()
        {
            CheckAuth();

            MongoHelper <Expense> expenseHelper = new MongoHelper <Expense>();

            IList <string> returnList = new List <string>();
            await expenseHelper.Collection.Find(e => e.UserName == UtilApi.GetHeaderValue(Request, "CurrentUserName"))
            .ForEachAsync(expenseDocument =>
            {
                string docJson = Newtonsoft.Json.JsonConvert.SerializeObject(expenseDocument);
                returnList.Add(docJson);
            }
                          );

            return(returnList.ToArray());
        }
示例#5
0
        public async Task <HttpResponseMessage> UpdateUserFcmToken()
        {
            CheckAuth();

            try
            {
                string userName = UtilApi.GetHeaderValue(Request, "CurrentUserName");

                HttpContent requestContent   = Request.Content;
                string      fcmTokenReceived = requestContent.ReadAsStringAsync().Result;

                var filter = Builders <User> .Filter.Eq(u => u.UserName, userName);

                var update = Builders <User> .Update.Set("FirebaseCloudMessagingToken", fcmTokenReceived);

                MongoHelper <User> userHelper   = new MongoHelper <User>();
                UpdateResult       updateResult = await userHelper.Collection.UpdateOneAsync(filter, update);

                if (updateResult.IsAcknowledged)
                {
                    return(new HttpResponseMessage()
                    {
                        StatusCode = HttpStatusCode.OK
                    });
                }
                else
                {
                    return(new HttpResponseMessage()
                    {
                        StatusCode = HttpStatusCode.NotFound
                    });
                }
            }
            catch (Exception e)
            {
                Trace.TraceError("UpdateUserFcmToken error : " + e.Message);
                return(new HttpResponseMessage()
                {
                    StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(e.Message)
                });
            }
        }