public override void SetPurchasedItems(PurchasedItems purchasedItems)
 {
     var json = JsonUtility.ToJson(purchasedItems);
     Debug.Log("["+ Tag + "] Saving Items To Json: " + json);
     PlayerPrefs.SetString(KeyPurchasedItemsName, json);
     PlayerPrefs.Save();
 }
        public async Task <IActionResult> PutPurchasedItems(int id, PurchasedItems purchasedItems)
        {
            if (id != purchasedItems.Id)
            {
                return(BadRequest());
            }

            _context.Entry(purchasedItems).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PurchasedItemsExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <ActionResult <PurchasedItems> > PostPurchasedItems(PurchasedItems purchasedItems)
        {
            _context.PurchasedItems.Add(purchasedItems);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPurchasedItems", new { id = purchasedItems.Id }, purchasedItems));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,ItemCategory,Item,ItemCount,PurchasedDate,PerItemPrice")] PurchasedItems purchasedItems)
        {
            if (id != purchasedItems.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(purchasedItems);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PurchasedItemsExists(purchasedItems.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ItemCategory"] = new SelectList(_context.Categories, "Id", "Description", purchasedItems.ItemCategory);
            ViewData["Item"]         = new SelectList(_context.Items, "Id", "Color", purchasedItems.Item);
            return(View(purchasedItems));
        }
Exemplo n.º 5
0
        public void ReturnPurchaseItems()
        {
            var returnedItems = PurchasedItems.ToList();

            PurchasedItems.Clear();

            DomainEvents.Raise(new ReturnedItemsEvent(DateTime.Now, returnedItems.ToArray()));
        }
Exemplo n.º 6
0
        public IActionResult PurchaseItem(Items item)
        {
            ShopDBContext  db                 = new ShopDBContext();
            Users          founduser          = new Users();
            Items          foundItem          = new Items();
            PurchasedItems foundPurchasedItem = new PurchasedItems();

            foreach (Users u in db.Users)
            {
                if (u.Id == HttpContext.Session.GetInt32("current"))
                {
                    founduser = u;
                }
            }
            foreach (Items i in db.Items)
            {
                if (i.ProductName == item.ProductName)
                {
                    foundItem = i;
                }
            }
            foreach (PurchasedItems d in db.PurchasedItems)
            {
                if (d.ProductName == item.ProductName && d.UserId == founduser.Id)
                {
                    foundPurchasedItem = d;
                }
            }
            if (founduser.Funds > foundItem.Price)
            {
                founduser.Funds    -= foundItem.Price;
                foundItem.Quantity -= 1;
                PurchasedItems purchasedItem = new PurchasedItems()
                {
                    UserId = founduser.Id, ProductName = foundItem.ProductName, Description = foundItem.Description, ItemType = foundItem.ItemType, Quantity = 1
                };
                UserItems useritem = new UserItems()
                {
                    ItemId = foundItem.ProductName, UserId = founduser.Id,
                };

                db.Add(useritem);
                if (foundPurchasedItem.ProductName != null)
                {
                    foundPurchasedItem.Quantity += 1;
                }
                else
                {
                    db.Add(purchasedItem);
                }
                db.SaveChanges();
                return(View("Shop", db));
            }
            else
            {
                return(InsufficientFunds(founduser.Funds.ToString(), foundItem.Price.ToString()));
            }
        }
 public override PurchasedItems GetPurchasedItems()
 {
     var json = PlayerPrefs.GetString(KeyPurchasedItemsName, "{}");
     Debug.Log("["+ Tag + "] Loading Items From Json: " + json);
     var result = JsonUtility.FromJson<PurchasedItems>(json);
     if (result == null)
         result = new PurchasedItems();
     return result;
 }
Exemplo n.º 8
0
 public void SellBackPurchasedItems(List <PurchasedItem> itemsToSell)
 {
     foreach (PurchasedItem item in itemsToSell)
     {
         var itemValue = GetBuyValueAtCurrentLocation(item);
         campaign.Map.CurrentLocation.StoreCurrentBalance -= itemValue;
         campaign.Money += itemValue;
         PurchasedItems.Remove(item);
     }
 }
Exemplo n.º 9
0
 private void AddPurchasedItem(Product product)
 {
     if (PurchasedItems.ContainsKey(product.definition.id))
     {
         PurchasedItems[product.definition.id]++;
     }
     else
     {
         PurchasedItems.Add(product.definition.id, 1);
     }
 }
Exemplo n.º 10
0
        public void UpdatePurchaseItems(IEnumerable <PurchaseItem> purchasedItems)
        {
            var returnedItems = PurchasedItems.ToList();

            DomainEvents.Raise(new ReturnedItemsEvent(DateTime.Now, returnedItems.ToArray()));

            PurchasedItems.Clear();
            PurchasedItems.AddRange(purchasedItems);
            DomainEvents.Raise(new PurchasedItemsEvent(DateTime.Now, purchasedItems.ToArray()));

            Modified = DateTime.Now;
        }
Exemplo n.º 11
0
    public override void SetPurchasedItems(PurchasedItems purchasedItems)
    {
        var json = JsonUtility.ToJson(purchasedItems);

        Debug.Log("[" + Tag + "] Saving Items To Json: " + json);
        var IV            = EncryptionUtility.GenerateIV();
        var encryptedText = EncryptionUtility.AESEncrypt(json, salt, IV);

        PlayerPrefs.SetString(KeyPurchasedItemsName, encryptedText);
        PlayerPrefs.SetString(KeyPurchasedItemsIVName, IV);
        PlayerPrefs.Save();
    }
Exemplo n.º 12
0
        public async Task <IActionResult> Create([Bind("Id,ItemCategory,Item,ItemCount,PurchasedDate,PerItemPrice")] PurchasedItems purchasedItems)
        {
            if (ModelState.IsValid)
            {
                _context.Add(purchasedItems);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["ItemCategory"] = new SelectList(_context.Categories, "Id", "Description", purchasedItems.ItemCategory);
            ViewData["Item"]         = new SelectList(_context.Items, "Id", "Color", purchasedItems.Item);
            return(View(purchasedItems));
        }
Exemplo n.º 13
0
        public IActionResult DeleteItem(PurchasedItems item)
        {
            ShopDBContext  db            = new ShopDBContext();
            Users          user          = new Users();
            Items          iteminfo      = new Items();
            PurchasedItems returningItem = new PurchasedItems();

            foreach (PurchasedItems i in db.PurchasedItems)
            {
                if (i.Id == item.Id)
                {
                    returningItem = i;
                }
            }
            if (returningItem.ItemType != null)
            {
                foreach (Users u in db.Users)
                {
                    if (returningItem.UserId == u.Id)
                    {
                        user = u;
                    }
                }
                foreach (Items price in db.Items)
                {
                    if (returningItem.ProductName == price.ProductName)
                    {
                        iteminfo = price;
                    }
                }

                user.Funds        += iteminfo.Price;
                iteminfo.Quantity += 1;
                if (returningItem.Quantity == 1)
                {
                    db.Remove(returningItem);
                }
                else
                {
                    returningItem.Quantity -= 1;
                }

                db.SaveChanges();
                return(List());
            }
            else
            {
                return(List());
            }
        }
        public void SellBackPurchasedItems(List <PurchasedItem> itemsToSell)
        {
            // Check all the prices before starting the transaction
            // to make sure the modifiers stay the same for the whole transaction
            Dictionary <ItemPrefab, int> buyValues = GetBuyValuesAtCurrentLocation(itemsToSell.Select(i => i.ItemPrefab));

            foreach (PurchasedItem item in itemsToSell)
            {
                var itemValue = item.Quantity * buyValues[item.ItemPrefab];
                Location.StoreCurrentBalance -= itemValue;
                campaign.Money += itemValue;
                PurchasedItems.Remove(item);
            }
        }
Exemplo n.º 15
0
        public IActionResult ReturnPage(PurchasedItems item)
        {
            ShopDBContext  db            = new ShopDBContext();
            PurchasedItems returningItem = new PurchasedItems();

            foreach (PurchasedItems i in db.PurchasedItems)
            {
                if (i.Id == item.Id)
                {
                    returningItem = i;
                }
            }
            return(View(returningItem));
        }
Exemplo n.º 16
0
        public override void LoadSave(object obj)
        {
            InapServiceSave save = obj as InapServiceSave;

            if (save == null)
            {
                LoadDefaults();
            }
            else
            {
                save.Validate();
                PurchasedItems.Clear();
                PurchasedItems.CopyFrom(save.purchasedItems);
                IsLoaded = true;
            }
        }
    public override void SetPurchasedItems(PurchasedItems purchasedItems)
    {
        if (!IsRequestedDataOnce)
        {
            return;
        }

        if (purchasedItems == null)
        {
            return;
        }

        if (IsRequestingItemsService)
        {
            return;
        }
        IsRequestingItemsService = true;

        var items = "";

        foreach (var itemName in Items.itemNames)
        {
            if (items.Length > 1)
            {
                items += ",";
            }
            items += "\"" + itemName + "\"";
        }
        var json = string.Format("{ \"items\" : [{0}] }", items);

        new LogEventRequest().SetEventKey("SERVICE_EVENT")
        .SetEventAttribute("TARGET", "setPurchasedItems")
        .SetEventAttribute("DATA", new GSRequestData(json))
        .Send((response) =>
        {
            if (!response.HasErrors)
            {
                Items = purchasedItems;
            }

            IsRequestingItemsService = false;
        });
    }
Exemplo n.º 18
0
    public override PurchasedItems GetPurchasedItems()
    {
        var json          = "{}";
        var encryptedText = PlayerPrefs.GetString(KeyPurchasedItemsName, "");
        var IV            = PlayerPrefs.GetString(KeyPurchasedItemsIVName, "");

        if (encryptedText.Length > 0 && IV.Length > 0)
        {
            json = EncryptionUtility.AESDecrypt(encryptedText, salt, IV);
        }
        Debug.Log("[" + Tag + "] Loading Items From Json: " + json);
        var result = JsonUtility.FromJson <PurchasedItems>(json);

        if (result == null)
        {
            result = new PurchasedItems();
        }
        return(result);
    }
Exemplo n.º 19
0
        public void PurchaseItems(List <PurchasedItem> itemsToPurchase, bool removeFromCrate)
        {
            // Check all the prices before starting the transaction
            // to make sure the modifiers stay the same for the whole transaction
            Dictionary <ItemPrefab, int> buyValues = GetBuyValuesAtCurrentLocation(itemsToPurchase.Select(i => i.ItemPrefab));

            foreach (PurchasedItem item in itemsToPurchase)
            {
                // Add to the purchased items
                var purchasedItem = PurchasedItems.Find(pi => pi.ItemPrefab == item.ItemPrefab);
                if (purchasedItem != null)
                {
                    purchasedItem.Quantity += item.Quantity;
                }
                else
                {
                    purchasedItem = new PurchasedItem(item.ItemPrefab, item.Quantity);
                    PurchasedItems.Add(purchasedItem);
                }

                // Exchange money
                var itemValue = item.Quantity * buyValues[item.ItemPrefab];
                campaign.Money -= itemValue;
                Location.StoreCurrentBalance += itemValue;

                if (removeFromCrate)
                {
                    // Remove from the shopping crate
                    var crateItem = ItemsInBuyCrate.Find(pi => pi.ItemPrefab == item.ItemPrefab);
                    if (crateItem != null)
                    {
                        crateItem.Quantity -= item.Quantity;
                        if (crateItem.Quantity < 1)
                        {
                            ItemsInBuyCrate.Remove(crateItem);
                        }
                    }
                }
            }
            OnPurchasedItemsChanged?.Invoke();
        }
Exemplo n.º 20
0
        public void PurchaseItems(List <PurchasedItem> itemsToPurchase, bool removeFromCrate)
        {
            foreach (PurchasedItem item in itemsToPurchase)
            {
                // Add to the purchased items
                var purchasedItem = PurchasedItems.Find(pi => pi.ItemPrefab == item.ItemPrefab);
                if (purchasedItem != null)
                {
                    purchasedItem.Quantity += item.Quantity;
                }
                else
                {
                    purchasedItem = new PurchasedItem(item.ItemPrefab, item.Quantity);
                    PurchasedItems.Add(purchasedItem);
                }

                // Exchange money
                var itemValue = GetBuyValueAtCurrentLocation(item);
                campaign.Money -= itemValue;
                Location.StoreCurrentBalance += itemValue;

                if (removeFromCrate)
                {
                    // Remove from the shopping crate
                    var crateItem = ItemsInBuyCrate.Find(pi => pi.ItemPrefab == item.ItemPrefab);
                    if (crateItem != null)
                    {
                        crateItem.Quantity -= item.Quantity;
                        if (crateItem.Quantity < 1)
                        {
                            ItemsInBuyCrate.Remove(crateItem);
                        }
                    }
                }
            }
            OnPurchasedItemsChanged?.Invoke();
        }
Exemplo n.º 21
0
 public void SetPurchasedItems(List <PurchasedItem> items)
 {
     PurchasedItems.Clear();
     PurchasedItems.AddRange(items);
     OnPurchasedItemsChanged?.Invoke();
 }
Exemplo n.º 22
0
 public override object GetSave()
 {
     return(new InapServiceSave {
         purchasedItems = PurchasedItems.ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
     });
 }
        public async Task <IActionResult> PurchaseItemPost(string orderNum, string paypal, int itemId, int sellerId, List <IFormFile> files)
        {
            PurchasedItems currentPurchase = new PurchasedItems();

            currentPurchase.OrderNumber     = orderNum;
            currentPurchase.Ppemail         = paypal;
            currentPurchase.DateOfPurchased = DateTime.Now;
            currentPurchase.ItemId          = itemId;
            currentPurchase.SellerId        = sellerId;
            currentPurchase.BuyerId         = Int32.Parse(HttpContext.Session.GetString("Id"));
            currentPurchase.Status          = "pending";
            if (ModelState.IsValid)
            {
                foreach (var item in files)
                {
                    if (item.Length > 0)
                    {
                        using (var stream = new MemoryStream())
                        {
                            await item.CopyToAsync(stream);

                            currentPurchase.ScreenShoot = stream.ToArray();
                        }
                    }
                }

                _context.Add(currentPurchase);
                await _context.SaveChangesAsync();

                var itemToUpdate = _context.SellersItems.Where(x => x.Id == itemId).Select(x => x);

                int?HowmanyReviews = 0;

                foreach (var item in itemToUpdate)
                {
                    HowmanyReviews = item.ReviesNeeded - 1;
                }

                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    //    1.create a command object identifying the stored procedure
                    SqlCommand cmd = new SqlCommand("ReviewsNeeded", conn);

                    //  2.set the command object so it knows to execute a stored procedure
                    cmd.CommandType = CommandType.StoredProcedure;

                    //  3.add parameter to command, which will be passed to the stored procedure
                    cmd.Parameters.Add(new SqlParameter("@number", HowmanyReviews));

                    cmd.Parameters.Add(new SqlParameter("@Id", itemId));


                    //   execute the command
                    cmd.ExecuteNonQuery();
                }
                ReviewsContext db = new ReviewsContext();

                UsersAccount seller   = db.UsersAccount.ToList().Where(x => x.Id == sellerId).FirstOrDefault();
                SellersItems soldItem = db.SellersItems.ToList().Where(x => x.Id == itemId).FirstOrDefault();


                MailMessage mail   = new MailMessage("*****@*****.**", seller.Email);
                SmtpClient  client = new SmtpClient();
                client.Port                  = 587;
                client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = true;
                client.Credentials           = new NetworkCredential("*****@*****.**", "Password1234!");
                client.EnableSsl             = true;
                client.Host                  = "smtp.gmail.com";
                mail.To.Add("add more peoples...");
                mail.Subject    = "You have Sold " + soldItem.ItemName + "!";
                mail.IsBodyHtml = true;

                mail.Body = "<h3>Hi " + seller.Email + "</h3><br>" +
                            "<br><p><b>You have sold :</b> " + soldItem.ItemName + "</p>" +
                            "<b>Order number : </b>" + orderNum +
                            "<br><p>we will let you know once review will be live.</p>" +
                            "<br><p>Thank you for using our service<p>" +
                            "<p><b>Reviews Trade Team.</b><p>";
                client.Send(mail);


                return(RedirectToAction("MyItems", "PurchasedItem"));
            }
            return(View());
        }
Exemplo n.º 24
0
 public abstract void SetPurchasedItems(PurchasedItems purchasedItems);
Exemplo n.º 25
0
 private void RemoveItem(PurchasedItem item)
 {
     PurchasedItems.Remove(item);
     CartLines.Refresh();
     UpdateView();
 }
Exemplo n.º 26
0
 private void Reset()
 {
     PurchasedItems.Clear();
     CartLines.Refresh();
     UpdateView();
 }
Exemplo n.º 27
0
 public override void SetPurchasedItems(PurchasedItems purchasedItems)
 {
     // Do nothing, this will manage at Playfab service side
 }
        public async Task <IActionResult> MyItemsPost(string Id, List <IFormFile> files)
        {
            PurchasedItems currentPurchase = new PurchasedItems();

            int currentID   = Int32.Parse(Id);
            var Currentitem = _context.PurchasedItems.Where(x => x.Id == currentID).Select(x => x).ToList();

            byte[] image = new byte[12];
            if (ModelState.IsValid)
            {
                foreach (var item in files)
                {
                    if (item.Length > 0)
                    {
                        using (var stream = new MemoryStream())
                        {
                            await item.CopyToAsync(stream);

                            image = stream.ToArray();
                        }
                    }
                }
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();

                    //  1.create a command object identifying the stored procedure
                    SqlCommand cmd = new SqlCommand("CompletePurchase", conn);

                    //    2.set the command object so it knows to execute a stored procedure
                    cmd.CommandType = CommandType.StoredProcedure;

                    //  3.add parameter to command, which will be passed to the stored procedure
                    cmd.Parameters.Add(new SqlParameter("@Id", Int32.Parse(Id)));

                    cmd.Parameters.Add(new SqlParameter("@Image", image));


                    //  execute the command
                    cmd.ExecuteNonQuery();
                }

                SellersItems refundedItem = _context.SellersItems.Where(x => x.Id == Currentitem[0].ItemId).FirstOrDefault();
                UsersAccount buyerId      = _context.UsersAccount.Where(x => x.Id == Currentitem[0].BuyerId).FirstOrDefault();


                MailMessage mail   = new MailMessage("*****@*****.**", buyerId.Email);
                SmtpClient  client = new SmtpClient();
                client.Port                  = 587;
                client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = true;
                client.Credentials           = new NetworkCredential("*****@*****.**", "Password1234!");
                client.EnableSsl             = true;
                client.Host                  = "smtp.gmail.com";
                mail.Subject                 = "You have refund for<b> " + refundedItem.ItemName + "!</b>";
                mail.IsBodyHtml              = true;

                mail.Body = "<h3>Hi " + buyerId.Email + "</h3><br>" +
                            "<br><p><b>You have refund for :</b> " + refundedItem.ItemName + "</p>" +
                            "<br><p>Please login to our service to see refund screenshot.</p>" +
                            "<br><p>Thank you for using our service.<p>" +
                            "<p><b>Reviews Trade Team.</b><p>";
                client.Send(mail);
            }
            return(RedirectToAction("Index", "Home"));
        }
Exemplo n.º 29
0
 private void AddPurchasedItem(PurchasedItem purchasedItem)
 {
     PurchasedItems.Add(purchasedItem);
     CartLines.Refresh();
     UpdateView();
 }