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)); }
/// <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); }
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); }