Пример #1
0
        public void SetUp()
        {
            _mockOwnedItemsStore = new Mock <IOwnedItemsStore>();
            _mockPriceService    = new Mock <IPriceService>();

            _viewModel = new SellViewModel(_mockOwnedItemsStore.Object, _mockPriceService.Object);
        }
Пример #2
0
        public IHttpActionResult PostSaveSell(SellViewModel s)
        {
            if (con.State == ConnectionState.Open)
            {
                con.Close();
            }
            con.Open();
            SqlCommand cmd1 = new SqlCommand("SP_SaveSell", con);

            cmd1.CommandType = CommandType.StoredProcedure;

            cmd1.Parameters.AddWithValue("@UserId", s.UserId);
            cmd1.Parameters.AddWithValue("@CoinTypeId", s.CoinTypeId);
            cmd1.Parameters.AddWithValue("@Amount_In_USD", s.AmtInUSD);
            cmd1.Parameters.AddWithValue("@Amount_In_Coins", s.AmtInCoins);
            cmd1.Parameters.AddWithValue("@Fee", s.Fee);
            cmd1.Parameters.AddWithValue("@Tax", s.Tax);
            cmd1.Parameters.AddWithValue("@Total", s.Total);
            cmd1.Parameters.AddWithValue("@PaymentDestination", "xxx");
            cmd1.Parameters.AddWithValue("@Inserted_Date", System.DateTime.Now);

            int Result = cmd1.ExecuteNonQuery();

            con.Close();
            if (Result != 0)
            {
                return(Ok("Sell Amount Saved Successfully"));
            }
            else
            {
                return(Ok("Record not saved , Try again.."));
            }
        }
Пример #3
0
        public async Task <IActionResult> BuyCrypto(string cryptoSymbol, decimal amountOnHand)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }


            var transaction = new TransactionModel
            {
                USD          = user.USD,
                BTC          = user.BTC,
                ETH          = user.ETH,
                LTC          = user.LTC,
                DOGE         = user.DOGE,
                CryptoSymbol = cryptoSymbol,
            };

            SellViewModel sell = new SellViewModel
            {
                CryptoSymbol = transaction.CryptoSymbol,
                CryptoPrice  = _getCryptoInfoService.GetCryptoPrice(transaction.CryptoSymbol),
                AmountToSell = transaction.AmountToBuyOrSell,
                AmountOnHand = transaction.AmountOnHand,
                USD          = transaction.USD
            };


            return(View(sell));
        }
Пример #4
0
        public ActionResult Calculate(string id)
        {
            string mbr_id = accountService.GetUserInfo().MBR_ID;

#if DEBUG
            //mbr_id = "M018223C11";
            //id = "P072017100500179";
            //mbr_id = "M01729A305";
#endif
            SellViewModel model = new SellViewModel
            {
                MemOnSalepPreConfirmDto = memOnSaleService.MemOnSalepPreConfirm(id, mbr_id).Data
            };

            model.MemOnSalepPreConfirmDto.CASE_NO = id;
            int power_panel_sell_price = 100;
#if DEBUG
            //id = "P072017100500179";
            //mbr_id = "M017070605";
            //power_panel_sell_price = 100;
#endif
            //model.MemOnSalepPreCalDto = memOnSaleService.MemOnSalepPreCal(id, mbr_id, power_panel_sell_price);
            //if (model.MemOnSalepPreCalDto.Data == null)
            //{
            model.MemOnSalepPreCalDto = new BaseResultDto <MemOnSalepPreCalDto>
            {
                Data = new MemOnSalepPreCalDto()            //}
            };
            model.MemberInfo = memberService.Info();
            return(View(model));
        }
Пример #5
0
        public async Task <IActionResult> BuyCrypto(string cryptoSymbol, decimal amountOnHand)
        {
            var user = await _userManager.GetUserAsync(User);

            var transaction = new TransactionModel
            {
                USD          = user.USD,  //the amount of cash available to spend
                BTC          = user.BTC,  //Number of crypto owned
                ETH          = user.ETH,  //Number of crypto owned
                LTC          = user.LTC,  //Number of crypto owned
                DOGE         = user.DOGE, //Number of crypto owned
                CryptoSymbol = cryptoSymbol,
                // AmountToBuyOrSell = amountToSell
            };

            SellViewModel sell = new SellViewModel
            {
                CryptoSymbol = transaction.CryptoSymbol,
                CryptoPrice  = _getCryptoInfoService.GetCryptoPrice(transaction.CryptoSymbol),
                AmountToSell = transaction.AmountToBuyOrSell,
                AmountOnHand = transaction.AmountOnHand,
                USD          = transaction.USD
            };

            return(View(sell));
        }
        public void TestValidation()
        {
            SellViewModel viewModel = new SellViewModel(null);

            // test for valid value
            Assert.IsFalse(viewModel.AuctionIsValid(new Auction()));
        }
Пример #7
0
        public JsonResult SellList(string sort_Type, int pageIndex, int page_Num)
        {
            SellViewModel apiResult = new SellViewModel();

            if (apiResult.UserInfoDetail == null)
            {
                UserInfoDto user = new UserInfoDto()
                {
                    MBR_LVL = "", VAR_RETURN_NOTE = ""
                };
                apiResult.UserInfoDetail = user;
            }
            string mbr_id = apiResult.UserInfoDetail.MBR_ID == null ? "" : apiResult.UserInfoDetail.MBR_ID;

#if DEBUG
            // mbr_id = "M018223C11";
#endif
            apiResult.MemOnSaleList = memOnSaleService.MemOnSaleList(sort_Type, mbr_id, pageIndex, SellViewModel.VIEW_COUNT_INTERVAL).Data;

            if (apiResult.MemOnSaleList != null)
            {
                foreach (var item in apiResult.MemOnSaleList)
                {
                    LoanCaseIntroductResponseDto loanCaseIntroduct = loanService.GetLoanCaseIntroList(new LoanCaseIntroductDto()
                    {
                        CASE_TYPE = "3", CASE_NO = item.CASE_NO
                    });
                    if (loanCaseIntroduct != null)
                    {
                        item.CASE_IMG = !string.IsNullOrEmpty(loanCaseIntroduct.CASELOAN_INTRODCT.CASE_IMG_LIST[0].FILE_UUID) ? loanCaseIntroduct.CASELOAN_INTRODCT.CASE_IMG_LIST[0].FILE_UUID : string.Empty;
                    }
                }
            }
            return(Json(apiResult, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public async Task <IActionResult> ExecuteBuy([Bind("USD,CryptoPrice,AmountToSell,CryptoSymbol")] SellViewModel inSell)
        {
            var user = await _userManager.GetUserAsync(User);

            var transaction = new TransactionModel
            {
                USD               = user.USD,  //the amount of cash available to spend
                BTC               = user.BTC,  //Number of crypto owned
                ETH               = user.ETH,  //Number of crypto owned
                LTC               = user.LTC,  //Number of crypto owned
                DOGE              = user.DOGE, //Number of crypto owned
                CryptoSymbol      = inSell.CryptoSymbol,
                AmountToBuyOrSell = inSell.AmountToSell
            };

            if (_cryptoTransactionService.CanBuyCrypto(transaction))
            {
                transaction = _cryptoTransactionService.BuyCryptoPerPiece(transaction);

                user.USD  = transaction.USD;
                user.BTC  = transaction.BTC;
                user.ETH  = transaction.ETH;
                user.LTC  = transaction.LTC;
                user.DOGE = transaction.DOGE;
                user.TotalAccountValue = transaction.TotalAccountValue;
                _context.SaveChanges();

                return(RedirectToAction("Wallet", "Crypto"));
            }
            else
            {
                return(RedirectToAction("Wallet", "Crypto"));
            }
        }
Пример #9
0
        public async Task <IActionResult> ExecuteBuy([Bind("USD,CryptoPrice,AmountToSell,CryptoSymbol")] SellViewModel inSell)
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var transaction = new TransactionModel
            {
                USD               = user.USD,
                BTC               = user.BTC,
                ETH               = user.ETH,
                LTC               = user.LTC,
                DOGE              = user.DOGE,
                CryptoSymbol      = inSell.CryptoSymbol,
                AmountToBuyOrSell = inSell.AmountToSell
            };

            transaction = _cryptoTransactionService.BuyCryptoPerPiece(transaction);

            user.USD  = transaction.USD;
            user.BTC  = transaction.BTC;
            user.ETH  = transaction.ETH;
            user.LTC  = transaction.LTC;
            user.DOGE = transaction.DOGE;
            user.TotalAccountValue = transaction.TotalAccountValue;
            _context.SaveChanges();

            return(RedirectToAction("Wallet", "Crypto"));
        }
Пример #10
0
        public ActionResult Index()
        {
            var           user      = accountService.GetUserInfo();
            SellViewModel apiResult = new SellViewModel();
            string        mbr_id    = string.Empty;

            if (user != null)
            {
                mbr_id = user.MBR_ID;
#if DEBUG
                //mbr_id = "M018223C11";
#endif
                apiResult.MemOnSaleList = memOnSaleService.MemOnSaleList("01", mbr_id, 1, SellViewModel.VIEW_COUNT_INTERVAL).Data;
                if (apiResult.MemOnSaleList != null)
                {
                    //foreach (var item in apiResult.MemOnSaleList)
                    //{
                    //    LoanCaseIntroductResponseDto loanCaseIntroduct = loanService.GetLoanCaseIntroList(new LoanCaseIntroductDto() { CASE_TYPE = "3", CASE_NO = item.CASE_NO });
                    //    if (loanCaseIntroduct != null)
                    //    {
                    //        DownloadFileRDto file = fileService.Download(loanCaseIntroduct.CASELOAN_INTRODCT.CASE_IMG_LIST[0].FILE_UUID);
                    //        item.CASE_IMG = file;
                    //    }

                    //}
                }
            }
            ;
            return(View(apiResult));
        }
Пример #11
0
        public ActionResult LoadMoneyTable(int buy_cnt, string id)
        {
            SellViewModel viewModel = new SellViewModel();

            try
            {
                var calmodel = Session["Project_LoanCaseCalculate"] as LoanCaseCalculateResponseDto;

                LoanCaseCalculateResponseDto model = new LoanCaseCalculateResponseDto();
                model.CALUATLE_LIST = new List <CALUATLE_LIST>();

                decimal PRE_POWER_GEN         = 0;
                decimal PRE_POWER_FEE         = 0;
                decimal PRE_APPOR_RENT        = 0;
                decimal PRE_APPOR_INSURANCE   = 0;
                decimal PRE_OTHER_FEE         = 0;
                decimal PRE_ANNUAL_RECEIPT    = 0;
                decimal PRE_ACCUMLATE_RECEIPT = 0;

                foreach (var item in calmodel.CALUATLE_LIST)
                {
                    CALUATLE_LIST lists = new CALUATLE_LIST();
                    decimal.TryParse(item.PRE_POWER_GEN, out PRE_POWER_GEN);
                    decimal.TryParse(item.PRE_POWER_FEE, out PRE_POWER_FEE);
                    decimal.TryParse(item.PRE_APPOR_RENT, out PRE_APPOR_RENT);
                    decimal.TryParse(item.PRE_APPOR_INSURANCE, out PRE_APPOR_INSURANCE);
                    decimal.TryParse(item.PRE_OTHER_FEE, out PRE_OTHER_FEE);
                    decimal.TryParse(item.PRE_ANNUAL_RECEIPT, out PRE_ANNUAL_RECEIPT);
                    decimal.TryParse(item.PRE_ACCUMLATE_RECEIPT, out PRE_ACCUMLATE_RECEIPT);
                    PRE_POWER_GEN         *= buy_cnt;
                    PRE_POWER_FEE         *= buy_cnt;
                    PRE_APPOR_RENT        *= buy_cnt;
                    PRE_APPOR_INSURANCE   *= buy_cnt;
                    PRE_OTHER_FEE         *= buy_cnt;
                    PRE_ANNUAL_RECEIPT    *= buy_cnt;
                    PRE_ACCUMLATE_RECEIPT *= buy_cnt;

                    lists.YEAR = item.YEAR;
                    lists.PRE_POWER_PERFORMANCE = item.PRE_POWER_PERFORMANCE;
                    lists.PRE_POWER_GEN         = PRE_POWER_GEN.ToString();
                    lists.PRE_POWER_FEE         = PRE_POWER_FEE.ToString();
                    lists.PRE_APPOR_RENT        = PRE_APPOR_RENT.ToString();
                    lists.PRE_APPOR_INSURANCE   = PRE_APPOR_INSURANCE.ToString();
                    lists.PRE_OTHER_FEE         = PRE_OTHER_FEE.ToString();
                    lists.PRE_ANNUAL_RECEIPT    = PRE_ANNUAL_RECEIPT.ToString();
                    lists.PRE_ACCUMLATE_RECEIPT = PRE_ACCUMLATE_RECEIPT.ToString();

                    model.CALUATLE_LIST.Add(lists);
                }
                viewModel.LoanCaseCalculate = model;

                return(PartialView("_ProjectTabMoneyTable", viewModel));
            }
            catch (Exception ex)
            {
                TempData["errorMsg"] = "error";
                return(Json(new { errorcode = -1, ERRMSG = Url.Action("Error", "Home") }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #12
0
        public SellStockCommand(SellViewModel viewModel, ISellStockService sellStockService, IAccountStore accountStore)
        {
            _viewModel        = viewModel;
            _sellStockService = sellStockService;
            _accountStore     = accountStore;

            _viewModel.PropertyChanged += ViewModel_PropertyChanged;
        }
Пример #13
0
        public SellView()
        {
            InitializeComponent();
            var app            = Application.Current as App;
            var memberService  = new SimpleMemberService(app.MainRepository);
            var auctionService = new AuctionService(app.MainRepository, memberService);

            DataContext = new SellViewModel(memberService, auctionService);
        }
Пример #14
0
        public ActionResult Sell()
        {
            SellViewModel model = new SellViewModel()
            {
                Fair = Repository.GetCurrentFair()
            };

            return(View(model));
        }
Пример #15
0
        public SellView()
        {
            InitializeComponent();

            var app            = Application.Current as App;
            var auctionService = new RemoteAuctionService();

            DataContext = new SellViewModel(new SimpleMemberService(new EFMainRepository()), auctionService);
        }
Пример #16
0
        public IHttpActionResult GetSellforUserId(Guid userid)
        {
            string     str = "SELECT UserId,(select CoinName from tbl_Coin_Master where Id=CoinTypeId) as Coin_Name,Amount_In_USD,Amount_In_Coins,Fee,Tax,Total,PaymentDestination,Inserted_Date FROM tbl_USD_Coin_Sell where UserId='" + userid + "'";
            SqlCommand cmd = new SqlCommand(str, con);

            con.Open();
            SqlDataReader        dr = cmd.ExecuteReader();
            List <SellViewModel> ls = new List <SellViewModel>();

            while (dr.Read())
            {
                SellViewModel ob = new SellViewModel();
                ob.UserId             = dr[0].ToString();
                ob.CoinName           = (string)dr[1];
                ob.AmtInUSD           = (decimal)dr[2];
                ob.AmtInCoins         = (decimal)dr[3];
                ob.Fee                = (decimal)dr[4];
                ob.Tax                = (decimal)dr[5];
                ob.Total              = (decimal)dr[6];
                ob.PaymentDestination = (string)dr[7];
                // ob.InsertDate = (DateTime)dr[9];
                if (dr[8] == DBNull.Value)
                {
                    ob.InsertedDate = null;
                }
                else
                {
                    ob.InsertedDate = (DateTime)dr[8];
                }
                ls.Add(ob);
            }
            dr.Close();
            con.Close();
            //SqlDataAdapter da = new SqlDataAdapter(str, con);
            //DataSet ds = new DataSet();
            //da.Fill(ds);
            //DataTable dt = new DataTable();
            //dt = ds.Tables[0];
            //con.Close();
            //string jsonstring = JsonConvert.SerializeObject(dt);
            //return Ok(jsonstring);
            if (ls.Count == 0)
            {
                return(NotFound());
            }

            return(Ok(ls));
            //}
            //catch (Exception ex)
            //{
            //    return Ok("Records not found");
            //}
        }
Пример #17
0
        public async Task <IActionResult> CreateOrderDetail(SellViewModel sellViewModel)
        {
            if (ModelState.IsValid)
            {
                var order = await _context.Order.SingleAsync(m => m.OrderID == sellViewModel.OrderDetail.OrderID);

                // Check da in hay chua
                if (order.IsPrinted == true)
                {
                    ViewData["ErrorText"] = "Bạn không thể sửa sau khi in";
                    return(View("ErrorPage"));
                }

                //Kiem tra co quyen them ko
                var isAuthorized = await _authorizationService.AuthorizeAsync(User, order,
                                                                              OrderOperations.Update);

                if (!isAuthorized.Succeeded)
                {
                    return(new ChallengeResult());
                }

                var warrantyCard = new WarrantyCard();
                warrantyCard.NumberOfWarranty = 0;
                warrantyCard.StartDate        = DateTime.Now;
                var itemInfo = await _context.Item.Where(m => m.ItemID == sellViewModel.OrderDetail.ItemID).Include(m => m.ModelFromSupplier).SingleOrDefaultAsync();

                warrantyCard.EndDate           = DateTime.Now.AddMonths(itemInfo.ModelFromSupplier.Period);
                warrantyCard.IsPrinted         = false;
                warrantyCard.IsDisabled        = false;
                warrantyCard.ItemID            = sellViewModel.OrderDetail.ItemID;
                warrantyCard.ApplicationUserID = _userManager.GetUserId(User);
                _context.Add(warrantyCard);


                _context.Add(sellViewModel.OrderDetail);


                var itemID = sellViewModel.OrderDetail.ItemID;
                var item   = await _context.Item.SingleAsync(m => m.ItemID == itemID);

                item.Status = ItemStatus.Sold;
                _context.Update(item);

                order.Total += sellViewModel.OrderDetail.PriceSold;
                _context.Update(order);

                await _context.SaveChangesAsync();
            }
            return(RedirectToAction(nameof(Detail), new { id = sellViewModel.OrderDetail.OrderID }));
        }
Пример #18
0
        public ActionResult ProjectList(int status, int page, string orderType)
        {
            try
            {
                SellViewModel model       = new SellViewModel();
                string        case_status = "01";
                string        view_name   = "";
                if (page < 0)
                {
                    page = 0;
                }
                // 1 : 募資中 2 : 發電中
                switch (status)
                {
                case 1: case_status = "01"; view_name = "_IndexProjectContent"; break;

                case 2: case_status = "02"; view_name = "_OnlineProjectContent"; break;

                default: return(PartialView());    // status亂傳直接回空response
                }

                model.LoanCaseList = loanService.GetLoanCaseList(new LoanCaseListDto()
                {
                    CASE_TYPE = "3", CASE_STATUS = case_status, PAGE_INDEX = page.ToString(), PAGE_NUM = SellViewModel.VIEW_COUNT_INTERVAL.ToString(), ORDER = orderType
                });

                #region view more隱藏(使用API的方法)

                //int next_idx = page * SellViewModel.VIEW_COUNT_INTERVAL + 1;
                //if (service.GetLoanCaseList(new LoanCaseListDto() { CASE_TYPE = "3", CASE_STATUS = case_status, PAGE_INDEX = next_idx.ToString(), PAGE_NUM = "1", ORDER = orderType }).Data.Count() <= 0)
                //model.End_Flag = true;

                #endregion view more隱藏(使用API的方法)

                if (model.LoanCaseList.Data == null || model.LoanCaseList.Data.Count() <= 0)
                {
                    model.End_Flag = true;
                }
                // view_name -> 募資中 : "_IndexProjectContent" ; 發電中 : "_OnlineProjectContent"
                return(PartialView(view_name, model));
            }
            catch (Exception ex)
            {
                TempData["errorMsg"] = "專案列表載入失敗:請稍後再試或聯絡客服。";
                return(Json(new { errorcode = -1, ERRMSG = Url.Action("Error", "Home") }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #19
0
        public ActionResult Project(string id = "")
        {
            // TODO:測試一下,有將變數caseNo改成id
            SellViewModel viewModel = new SellViewModel();
            UserInfoDto   user      = this.accountService.GetUserInfo();

            if (user != null)
            {
                string mbr_id           = user.MBR_ID;
                string sh_trans_inst_cd = id;
#if DEBUG
                //sh_trans_inst_cd = "P072018111400183";
                //mbr_id = "M018413E14";
#endif
                BaseResultDto <MemOnSaleDetailDto> saleDetailResult = this.memOnSaleService.MemOnSaleDetail(mbr_id, sh_trans_inst_cd);
                if (saleDetailResult.ERRCODE == 0)
                {
                    MemOnSaleDetailDto data = saleDetailResult.Data;
                    viewModel                   = new SellViewModel(data.CASE_TYPE, data.CASE_NO);
                    viewModel.MemberInfo        = this.memberService.Info();
                    viewModel.MemOnSaleSellInfo = this.memOnSaleService.MemOnSaleSellInfo(data.SELL_MBR_ID).Data;

                    //if (data.SELL_STATUS == "01" )
                    //{

                    //}
                    if (data.IS_BUYER == "Y")
                    {
                        viewModel.SellMemberInfo = this.memberService.GetSellMemberInfo(data.SELL_MBR_ID);
                    }
                    if (data.IS_SELLER_ACCT == "Y")
                    {
                        viewModel.Payee = this.memberService.GetPayee(data.SELL_MBR_ID);
                    }
                    if (data.LAST_FEE_DIST_AVG != "0")
                    {
                        data.LAST_FEE_DIST_AVG = Math.Round(Double.Parse(data.LAST_FEE_DIST_AVG), 0, MidpointRounding.AwayFromZero).ToString("#,#");
                    }

                    viewModel.MemOnSaleDetail = data;
                }
            }

            return(this.View(viewModel));
        }
Пример #20
0
        public SellPage(SellViewModel viewModel)
        {
            InitializeComponent();
            BindingContext = viewModel;

            getDispatcher().ConfirmSellRequested += async(s, e) =>
            {
                var requestInfo = e as RequestInfo;
                var confirmed   = await DisplayAlert("Confirmation",
                                                     $"Selling ({(requestInfo).Quantity }) shares of {requestInfo.Symbol}?",
                                                     "Confirm", "Cancel");

                if (confirmed)
                {
                    getDispatcher().ExecuteSell(requestInfo);
                }
            };
        }
Пример #21
0
 public SellPage()
 {
     try
     {
         if (Application.Current.Properties.ContainsKey("Key"))
         {
             InitializeComponent();
             BindingContext = new SellViewModel(Navigation);;
         }
         else
         {
             Navigation.PushModalAsync(new MainPage());
         }
     }
     catch (Exception ee)
     {
         App.Current.MainPage.DisplayAlert("Error!", ee.Message, "Ok");
     }
 }
Пример #22
0
 public SellStockCommand(SellViewModel viewModel, ISellStockService sellStockService, IAccountStore accountStore)
 {
     _viewModel        = viewModel;
     _sellStockService = sellStockService;
     _accountStore     = accountStore;
 }
Пример #23
0
        public ActionResult Online()
        {
            SellViewModel model = new SellViewModel();

            return(View(model));
        }
Пример #24
0
        public async Task <IActionResult> Detail(int?id, string sortOrder, string currentFilter, string searchString, int?page)
        {
            #region Check Exists
            if (id == null)
            {
                return(NotFound());
            }


            var order = await _context.Order.Include(m => m.Customer).SingleOrDefaultAsync(m => m.OrderID == id);


            if (order == null)
            {
                return(NotFound());
            }

            #endregion

            #region Filter and Search
            ViewData["ItemModelNameSortParm"]    = String.IsNullOrEmpty(sortOrder) ? "item_model_name_desc" : "";
            ViewData["ItemNameSortParm"]         = sortOrder == "item_name" ? "item_name_desc" : "item_name";
            ViewData["IMEISortParm"]             = sortOrder == "imei" ? "imei_desc" : "imei";
            ViewData["SerializerNumberSortParm"] = sortOrder == "serializer_number" ? "serializer_number_desc" : "serializer_number";
            ViewData["PriceSoldSortParm"]        = sortOrder == "pricesold" ? "pricesold_desc" : "pricesold";

            ViewData["CurrentSort"] = sortOrder;

            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }

            ViewData["CurrentFilter"] = searchString;

            var orderDetails = _context.OrderDetail.Where(m => m.OrderID == id);

            if (!String.IsNullOrEmpty(searchString))
            {
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).Where(m => m.Item.Model.Name.ToLower().Contains(searchString.ToLower()) ||
                                                                                                 m.Item.IMEI.ToString().ToLower().Contains(searchString.ToLower()) ||
                                                                                                 m.Item.SerializerNumber.ToString().ToLower().Contains(searchString.ToLower())
                                                                                                 );
            }
            switch (sortOrder)
            {
            case "item_model_name_desc":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderByDescending(s => s.Item.Model.Name);
                break;

            case "item_name":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderBy(s => s.Item.Name);
                break;

            case "item_name_desc":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderByDescending(s => s.Item.Name);
                break;

            case "imei":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderBy(s => s.Item.IMEI);
                break;

            case "imei_desc":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderByDescending(s => s.Item.IMEI);
                break;

            case "serializer_number":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderBy(s => s.Item.SerializerNumber);
                break;

            case "serializer_number_desc":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderByDescending(s => s.Item.SerializerNumber);
                break;

            case "pricesold":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderBy(s => s.PriceSold);
                break;

            case "pricesold_desc":
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderByDescending(s => s.PriceSold);
                break;

            default:
                orderDetails = orderDetails.Include(m => m.Item).ThenInclude(m => m.Model).OrderBy(s => s.Item.Model.Name);
                break;
            }
            #endregion


            var sellViewModel = new SellViewModel();
            sellViewModel.Order     = order;
            sellViewModel.Customers = _context.Customer;
            sellViewModel.NewItems  = _context.Item.Where(m => m.Status == ItemStatus.InStock).Include(m => m.Model).Include(m => m.ModelFromSupplier);
            sellViewModel.Models    = _context.Model;
            #region Paging
            int pageSize = 12;
            PaginatedList <OrderDetail> pagesOrderDetails = await PaginatedList <OrderDetail> .CreateAsync(orderDetails.AsNoTracking(), page ?? 1, pageSize);

            sellViewModel.OrderDetails = pagesOrderDetails;
            #endregion
            return(View(sellViewModel));
        }
Пример #25
0
 public SellStockCommand(SellViewModel sellViewModel, ISellStockService sellStockService, IAccountStore accountStore)
 {
     this.sellViewModel    = sellViewModel;
     this.sellStockService = sellStockService;
     this.accountStore     = accountStore;
 }
Пример #26
0
        public ActionResult SellBitcoin(SellViewModel obj)
        {
            if (!ModelState.IsValid)
            {
                var d1 = CoinsMarketValueController.GetMarkupWithCoinId();
                foreach (var r in d1)
                {
                    switch (r.Key)
                    {
                    case 101: mark101 = r.Value; break;

                    case 102: mark102 = r.Value; break;

                    case 103: mark103 = r.Value; break;

                    case 104: mark104 = r.Value; break;

                    case 105: mark105 = r.Value; break;

                    case 106: mark106 = r.Value; break;
                    }
                }

                try { ViewBag.BTC = "$" + Math.Round((Convert.ToDecimal(objCoin.BTCCurrentPrice()) + Convert.ToDecimal(mark101)), 2); } catch (Exception ex) { ViewBag.BTC = ex.Message; }
                try { ViewBag.ETH = "$" + Math.Round((Convert.ToDecimal(objCoin.ETHCurrentPrice()) + Convert.ToDecimal(mark106)), 2); } catch (Exception ex) { ViewBag.ETH = ex.Message; }
                try { ViewBag.DASH = "$" + Math.Round((Convert.ToDecimal(objCoin.DASHCurrentPrice()) + Convert.ToDecimal(mark102)), 2); } catch (Exception ex) { ViewBag.DASH = ex.Message; }
                try { ViewBag.LTC = "$" + Math.Round((Convert.ToDecimal(objCoin.LTCCurrentPrice()) + Convert.ToDecimal(mark103)), 2); } catch (Exception ex) { ViewBag.LTC = ex.Message; }
                try { ViewBag.ETC = "$" + Math.Round((Convert.ToDecimal(objCoin.ETCCurrentPrice()) + Convert.ToDecimal(mark105)), 2); } catch (Exception ex) { ViewBag.ETC = ex.Message; }
                try { ViewBag.MBC = "$" + Math.Round((Convert.ToDecimal(objCoin.GetMBC_USDCoin()) + Convert.ToDecimal(mark104)), 2); } catch (Exception ex) { ViewBag.MBC = ex.Message; }

                ViewBag.Coinlist = Session["a"];
                return(View(obj));
            }

            var userId = User.Identity.GetUserId();
            var user   = UserManager.FindByIdAsync(userId).Result;

            obj.UserId = userId;
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(url + "Transaction/Sell");

                //HTTP POST
                var postTask = client.PostAsJsonAsync(url + "Transaction/Sell", obj);
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {
                    //return RedirectToAction("Index");
                    EmailNotification en = Session["Notification"] as EmailNotification;
                    if (en != null)
                    {
                        if (en.Sell == true)
                        {
                            string res = "Hi," + user.UserName + " you Sell coin. ";
                            //SendMail a = new Blockchaninaccounts.App_Start.SendMail();
                            SendMail.Mail(user.Email, res);
                        }
                    }
                    ViewBag.msg = "Sell Amount Saved Successfully";
                    var d2 = CoinsMarketValueController.GetMarkupWithCoinId();
                    foreach (var r in d2)
                    {
                        switch (r.Key)
                        {
                        case 101: mark101 = r.Value; break;

                        case 102: mark102 = r.Value; break;

                        case 103: mark103 = r.Value; break;

                        case 104: mark104 = r.Value; break;

                        case 105: mark105 = r.Value; break;

                        case 106: mark106 = r.Value; break;
                        }
                    }

                    try { ViewBag.BTC = "$" + Math.Round((Convert.ToDecimal(objCoin.BTCCurrentPrice()) + Convert.ToDecimal(mark101)), 2); } catch (Exception ex) { ViewBag.BTC = ex.Message; }
                    try { ViewBag.ETH = "$" + Math.Round((Convert.ToDecimal(objCoin.ETHCurrentPrice()) + Convert.ToDecimal(mark106)), 2); } catch (Exception ex) { ViewBag.ETH = ex.Message; }
                    try { ViewBag.DASH = "$" + Math.Round((Convert.ToDecimal(objCoin.DASHCurrentPrice()) + Convert.ToDecimal(mark102)), 2); } catch (Exception ex) { ViewBag.DASH = ex.Message; }
                    try { ViewBag.LTC = "$" + Math.Round((Convert.ToDecimal(objCoin.LTCCurrentPrice()) + Convert.ToDecimal(mark103)), 2); } catch (Exception ex) { ViewBag.LTC = ex.Message; }
                    try { ViewBag.ETC = "$" + Math.Round((Convert.ToDecimal(objCoin.ETCCurrentPrice()) + Convert.ToDecimal(mark105)), 2); } catch (Exception ex) { ViewBag.ETC = ex.Message; }
                    try { ViewBag.MBC = "$" + Math.Round((Convert.ToDecimal(objCoin.GetMBC_USDCoin()) + Convert.ToDecimal(mark104)), 2); } catch (Exception ex) { ViewBag.MBC = ex.Message; }
                    ModelState.Clear();
                    return(View("DashboardSuccess"));
                }
                //else
                //{
                //    ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");
                //}
            }

            ModelState.AddModelError(string.Empty, "Server Error. Please contact administrator.");
            //ModelState.Clear();
            ViewBag.Coinlist = Session["a"];

            var d = CoinsMarketValueController.GetMarkupWithCoinId();

            foreach (var r in d)
            {
                switch (r.Key)
                {
                case 101: mark101 = r.Value; break;

                case 102: mark102 = r.Value; break;

                case 103: mark103 = r.Value; break;

                case 104: mark104 = r.Value; break;

                case 105: mark105 = r.Value; break;

                case 106: mark106 = r.Value; break;
                }
            }

            try { ViewBag.BTC = "$" + Math.Round((Convert.ToDecimal(objCoin.BTCCurrentPrice()) + Convert.ToDecimal(mark101)), 2); } catch (Exception ex) { ViewBag.BTC = ex.Message; }
            try { ViewBag.ETH = "$" + Math.Round((Convert.ToDecimal(objCoin.ETHCurrentPrice()) + Convert.ToDecimal(mark106)), 2); } catch (Exception ex) { ViewBag.ETH = ex.Message; }
            try { ViewBag.DASH = "$" + Math.Round((Convert.ToDecimal(objCoin.DASHCurrentPrice()) + Convert.ToDecimal(mark102)), 2); } catch (Exception ex) { ViewBag.DASH = ex.Message; }
            try { ViewBag.LTC = "$" + Math.Round((Convert.ToDecimal(objCoin.LTCCurrentPrice()) + Convert.ToDecimal(mark103)), 2); } catch (Exception ex) { ViewBag.LTC = ex.Message; }
            try { ViewBag.ETC = "$" + Math.Round((Convert.ToDecimal(objCoin.ETCCurrentPrice()) + Convert.ToDecimal(mark105)), 2); } catch (Exception ex) { ViewBag.ETC = ex.Message; }
            try { ViewBag.MBC = "$" + Math.Round((Convert.ToDecimal(objCoin.GetMBC_USDCoin()) + Convert.ToDecimal(mark104)), 2); } catch (Exception ex) { ViewBag.MBC = ex.Message; }

            return(View(obj));
        }