Esempio n. 1
0
        public static string GetUserTransactions(int uId)
        {
            ResponseData r = new ResponseData();

            using (var db = new TBDataModel())
            {
                var transactions = from t in db.Transactions
                                   where t.UserId == uId &&
                                   t.Active == 1
                                   select t;
                List <ListingDetails> listingList = new List <ListingDetails>();
                foreach (var item in transactions)
                {
                    ListingDetails l = new ListingDetails();
                    l.Author        = item.Product.Author;
                    l.Description   = item.Description;
                    l.ISBN          = item.Product.ISBN;
                    l.ListPrice     = item.Price;
                    l.Name          = item.Product.Title;
                    l.Negotiable    = item.Negotiable;
                    l.Publisher     = item.Product.Publisher;
                    l.UserId        = item.UserId;
                    l.TransactionId = item.Id;

                    listingList.Add(l);
                }
                r.Data.Add("Transactions", listingList);
            }
            r.Status = 1;
            r.Schema = "GetUserTransactions";
            return(JsonConvert.SerializeObject(r));
        }
Esempio n. 2
0
        /// <summary>
        /// Creates a new listing based on user input
        /// </summary>
        /// <param name="details"></param>
        /// <returns></returns>
        public static string Listing(ListingDetails details)
        {
            string response = "";

            using (var db = new TBDataModel())
            {
                int pId = (from b in db.Products
                           where b.ISBN == details.ISBN &&
                           b.Title == details.Name
                           select b.Id).FirstOrDefault();

                // If this product doesnt exist
                if (pId == 0)
                {
                    var newProd = new Product();
                    newProd.Author    = details.Author;
                    newProd.ISBN      = details.ISBN;
                    newProd.Publisher = details.Publisher;
                    newProd.Title     = details.Name;
                    newProd.UserId    = details.UserId;

                    db.Products.Add(newProd);

                    db.SaveChanges();

                    pId = newProd.Id;
                }
                // Make new listing
                var newListing = new Transaction();

                newListing.Active       = 1;
                newListing.DateCreated  = DateTime.UtcNow;
                newListing.DateModified = DateTime.UtcNow;
                newListing.Description  = details.Description;
                newListing.Price        = details.ListPrice;
                newListing.ProductId    = pId;
                newListing.UserId       = details.UserId;

                db.Transactions.Add(newListing);

                // Add the images uploaded to the database
                foreach (var im in details.Images)
                {
                    var image = new Image();
                    image.ImageData = Convert.FromBase64String(im);
                    image.ProductId = pId;
                    image.UserId    = details.UserId;

                    db.Images.Add(image);
                }

                db.SaveChanges();

                Dictionary <string, string> r = new Dictionary <string, string>();
                r.Add("NewListingId", newListing.Id.ToString());
                response = JsonConvert.SerializeObject(r);
            }
            return(response);
        }
Esempio n. 3
0
        public static Dictionary <string, dynamic> Get(int tId)
        {
            Dictionary <string, dynamic> returnData = new Dictionary <string, dynamic>();

            using (var db = new TBDataModel())
            {
                var transaction = (from t in db.Transactions
                                   where t.Id == tId
                                   select t).FirstOrDefault();
                var            innerProduct = transaction.Product;
                ListingDetails lDetails     = new ListingDetails();
                lDetails.Author     = innerProduct.Author;
                lDetails.Name       = innerProduct.Title;
                lDetails.ListPrice  = transaction.Price;
                lDetails.ISBN       = innerProduct.ISBN;
                lDetails.Negotiable = transaction.Negotiable;
                lDetails.Publisher  = innerProduct.Publisher;
                lDetails.UserId     = transaction.UserId;

                // Get images
                var images = from b in db.Images
                             where b.ProductId == innerProduct.Id
                             select b;
                List <string> imageB64 = new List <string>();
                foreach (var im in images)
                {
                    imageB64.Add(Convert.ToBase64String(im.ImageData));
                }
                lDetails.Images = imageB64;

                BasicUserData bud = new BasicUserData();

                bud.UserName    = transaction.User.UserName;
                bud.PhoneNumber = transaction.User.PhoneNumber;

                returnData.Add("TransactionData", lDetails);
                returnData.Add("UserData", bud);
            }

            return(returnData);
        }