예제 #1
0
        public ActionResult GetUserDetails(int User_Id)
        {
            try
            {
                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/User/GetUserDetails", User, null, true, false, null, "User_Id=" + User_Id));

                UserDetailsViewModel model = null;

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }
                else
                {
                    model = response.GetValue("Result").ToObject <UserDetailsViewModel>();
                }

                if (model.ProfilePictureUrl == null || model.ProfilePictureUrl == "")
                {
                    model.ProfilePictureUrl = "UserImages/Default.png";
                }

                model.SetSharedData(User);

                return(View("UserProfile", model));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
예제 #2
0
        public ActionResult Index(int id = 0)
        {
            if (id == 0)
            {
                AddSubscriptionPackageBindingModel model = new AddSubscriptionPackageBindingModel();
                model.DurationTypeOptions = Utility.GetDurationTypeOptions();
                model.SetSharedData(User);
                return(View(model));
            }
            else
            {
                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("/api/Admin/GetEntityById", User, null, true, false, null, "Id=" + id + "&EntityType=2"));

                AddSubscriptionPackageBindingModel model = new AddSubscriptionPackageBindingModel();

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }
                else
                {
                    model = response.GetValue("result").ToObject <AddSubscriptionPackageBindingModel>();
                }
                model.DurationTypeOptions = Utility.GetDurationTypeOptions();
                model.SetSharedData(User);
                return(View(model));
            }
        }
예제 #3
0
        public async Task <ActionResult> Index(SettingsDTO model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            bool firstCall = true;

            JObject response;


            response = await ApiCall.CallApi("api/Admin/SetSettings", User, isMultipart : false, GetRequest : false, model : model);

            if (firstCall && Convert.ToString(response).Contains("UnAuthorized"))
            {
                firstCall = false;
            }
            else if (Convert.ToString(response).Contains("UnAuthorized"))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "UnAuthorized Error"));
            }

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
            }
            else
            {
                model.SetSharedData(User);
                TempData["SuccessMessage"] = "Settings updated successfully.";
                return(Json(new { success = true, responseText = "Success" }, JsonRequestBehavior.AllowGet));
            }
        }
예제 #4
0
        public ActionResult ManageBoxes()
        {
            try
            {
                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetAllBoxes", User, null, true));

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }

                var boxes = response.GetValue("Result").ToObject <SearchBoxesViewModel>();

                foreach (var box in boxes.Boxes)
                {
                    box.StatusName = Utility.GetStatusName(box.Status);
                    //box.CategoryName = ((BoxCategoryOptions)box.BoxCategory_Id).ToString();
                }

                boxes.StatusOptions = Utility.GetBoxStatusOptions();
                boxes.SetSharedData(User);

                return(View(boxes));
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
        }
예제 #5
0
        public ActionResult SearchAdmin()
        {
            SearchAdminModel returnModel = new SearchAdminModel();

            var responseStores = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/GetAllStores", User, GetRequest: true));

            if (responseStores == null || responseStores is Error)
            {
            }
            else
            {
                var Stores = responseStores.GetValue("Result").ToObject <List <StoreBindingModel> >();
                IEnumerable <SelectListItem> selectList = from store in Stores
                                                          select new SelectListItem
                {
                    Selected = false,
                    Text     = store.Name,
                    Value    = store.Id.ToString()
                };
                Stores.Insert(0, new StoreBindingModel {
                    Id = 0, Name = "All"
                });

                returnModel.StoreOptions = new SelectList(selectList);
            }
            return(PartialView("_SearchAdmin", returnModel));
        }
예제 #6
0
        public ActionResult ManageDriversRequests()
        {
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetAllDrivers", User, null, true, false, null, "isBecomeDriverRequests=" + true));

            SearchDriverViewModel model = new SearchDriverViewModel();

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
            else
            {
                model = response.GetValue("result").ToObject <SearchDriverViewModel>();
            }

            foreach (var user in model.Drivers)
            {
                user.StatusName = "Pending";
            }

            model.StatusOptions = Utility.GetDriverRequestStatusOptions();

            model.SetSharedData(User);
            return(View(model));
        }
예제 #7
0
        // GET: Dashboard/Users
        public ActionResult Index()
        {
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetSupportConversationsList", User, null, true, false, null));
            ChatHistoryViewModel _model = new ChatHistoryViewModel();

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
            else
            {
                var job = response.GetValue("result").ToObject <dynamic>();
                _model.ChatHistory = job.GetValue("conversations").ToObject <List <ChatHistoryModel> >();
            }

            //    var resp = new ChatHistoryModel
            //    {
            //        Id = 1,
            //        UserName = "******",
            //        LastConversationDate = DateTime.UtcNow,
            //        userType = 1
            //    };
            //_model.ChatHistory.Add(resp);
            //var resp2 = new ChatHistoryModel
            //{
            //    Id = 1,
            //    UserName = "******",
            //    LastConversationDate = DateTime.UtcNow,
            //    userType = 0
            //};
            //_model.ChatHistory.Add(resp2);
            _model.SetSharedData(User);
            return(View(_model));
        }
예제 #8
0
        public ActionResult ManageRides()
        {
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetAllRides", User, null, true, false, null));

            SearchRequestViewModel model = new SearchRequestViewModel();

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
            else
            {
                model = response.GetValue("result").ToObject <SearchRequestViewModel>();
            }

            //foreach (var user in model.Drivers)
            //{
            //    user.StatusName = user.IsDeleted ? "Blocked" : "Active";
            //}

            // model.StatusOptions = Utility.GetUserStatusOptions();

            model.SetSharedData(User);
            return(View(model));
        }
예제 #9
0
        public ActionResult Index(AddBoxViewModel model)
        {
            if (model.BoxVideos == null || model.BoxVideos.Count == 0 || model.BoxVideos.First().VideoUrl == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Please add at least one video url."));
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            model.BoxVideos.RemoveAll(x => String.IsNullOrEmpty(x.VideoUrl));


            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/AddBox", User, model));

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
            }

            if (model.Id > 0)
            {
                TempData["SuccessMessage"] = "The box has been updated successfully.";
            }
            else
            {
                TempData["SuccessMessage"] = "The box has been added successfully.";
            }

            return(Json("Success"));
        }
예제 #10
0
        public async Task <ActionResult> Index(AddHowItWorksViewModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                var response = await ApiCall.CallApi("api/Videos/AddHowItWorks", User, model);

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
                }
                else
                {
                    return(Json("Success"));
                }
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
예제 #11
0
        public ActionResult SaveBoxStatuses(List <ChangeBoxStatusModel> selectedBoxes)
        {
            try
            {
                if (selectedBoxes == null)
                {
                    return(new HttpStatusCodeResult((int)HttpStatusCode.Forbidden, "Select a box to save"));
                }

                ChangeBoxStatusListModel postModel = new ChangeBoxStatusListModel();
                postModel.Boxes = selectedBoxes;

                var apiResponse = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/ChangeBoxStatuses", User, postModel));

                if (apiResponse == null || apiResponse is Error)
                {
                    return(new HttpStatusCodeResult(500, "Internal Server Error"));
                }
                else
                {
                    return(Json("Success"));
                }
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
예제 #12
0
        public ActionResult Index(SearchOrdersListViewModel model)
        {
            try
            {
                if (model.Orders.Any(x => x.IsChecked))
                {
                    SearchOrdersListViewModel postModel = new SearchOrdersListViewModel();
                    postModel.Orders = model.Orders.Where(x => x.IsChecked && x.DeliveryManId > 0).ToList();

                    var apiResponse = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/AssignOrdersToDeliverer", User, postModel));

                    if (apiResponse == null || apiResponse is Error)
                    {
                        return(new HttpStatusCodeResult(500, "Internal Server Error"));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
                else
                {
                    return(new HttpStatusCodeResult((int)HttpStatusCode.Forbidden, "Select an order to save"));
                }
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
예제 #13
0
        public async Task<ActionResult> Index()
        {
            var claimIdentity = ((ClaimsIdentity)User.Identity);
            //var fullName = claimIdentity.Claims.FirstOrDefault(x => x.Type == "FullName");
            //var profilePictureUrl = claimIdentity.Claims.FirstOrDefault(x => x.Type == "ProfilePictureUrl");

            WebDashboardStatsViewModel model = new WebDashboardStatsViewModel();

            var response = await ApiCall.CallApi("api/Admin/GetAdminDashboardStats", User, GetRequest: true);

            if (response is Error)
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage);
            }
            else
            {
                model = response.GetValue("result").ToObject<WebDashboardStatsViewModel>();

                //if (model.DeviceUsage.Count < 3)
                //{
                //    for (int i = 0; i <= (3 - model.DeviceUsage.Count); i++)
                //    {
                //        model.DeviceUsage.Add(new DeviceStats { Count = 0, Percentage = 0 });
                //    }
                //}

            }
            model.SetSharedData(User);

            return View(model);

        }
        public ActionResult Index(NotificationBindingModel model)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                model.TargetAudience = 2; //Users Only

                var apiResponse = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/AddNotification", User, model));

                if (apiResponse == null || apiResponse is Error)
                {
                    return(new HttpStatusCodeResult(500, "Internal Server Error"));
                }
                else
                {
                    TempData["SuccessMessage"] = "The notification has been sent successfully.";
                    model.SetSharedData(User);
                    return(Json("Success"));
                }
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex)));
            }
        }
예제 #15
0
        public async Task <ActionResult> SetProducts(SettingsSetProductViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var response = await ApiCall.CallApi("api/Settings/SetSettingsProduct", User, GetRequest : false, model : model);

            if (Convert.ToString(response).Contains("UnAuthorized"))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "UnAuthorized Error"));
            }

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
            }
            else
            {
                if (model.Product_Id > 0)
                {
                    return(Json(new { success = true, responseText = "Added" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new { success = true, responseText = "Removed" }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult Index(int id = 0)
        {
            CountryBindingModel model     = new CountryBindingModel();
            CountryViewModel    viewModel = new CountryViewModel();

            model.SetSharedData(User);
            if (id == 0)
            {
                return(View(model));
            }
            else
            {
                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("/api/Admin/GetEntityById", User, null, true, false, null, "Id=" + id + "&EntityType=" + Utility.KorsaEntityTypes.Country));
                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }
                else
                {
                    viewModel = response.GetValue("result").ToObject <CountryViewModel>();
                }
                model.IsActive = viewModel.IsActive;
                model.Name     = viewModel.English.Name;
                model.SetSharedData(User);
                return(View(model));
            }
        }
예제 #17
0
        public ActionResult GetStoreProducts(SearchProductModel model)
        {
            PackageProductsViewModel returnModel = new PackageProductsViewModel();
            JObject response;

            if (model.PackageId.HasValue == false || (model.PackageId.HasValue == true && model.PackageId.Value == 0))
            {
                response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/SearchProducts", User, null, true, false, null, "ProductName=" + model.ProductName + "", "ProductPrice=" + model.ProductPrice, "CategoryName=" + model.CategoryName + "", "StoreId=" + model.StoreId));
                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
                }
                else
                {
                    returnModel.Products = response.GetValue("Result").SelectToken("Products").ToObject <List <PackageProductViewModel> >();
                }
            }
            else
            {
                response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Packages/GetPackageProducts", User, null, true, false, null, "PackageId=" + model.PackageId, "StoreId=" + model.StoreId));

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
                }
                else
                {
                    returnModel.Products = response.GetValue("Result").SelectToken("Products").ToObject <List <PackageProductViewModel> >();
                }
            }

            return(PartialView("_PackageProducts", returnModel));
        }
예제 #18
0
        public ActionResult ManageUsers()
        {
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetAllUsers", User, null, true, false, null));

            SearchUserViewModel model = new SearchUserViewModel();

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
            else
            {
                model = response.GetValue("result").ToObject <SearchUserViewModel>();
            }

            foreach (var user in model.Users)
            {
                user.StatusName = user.IsDeleted ? "Blocked" : "Active";
                //if (user.ProfilePictureUrl == null || user.ProfilePictureUrl == "")
                //    user.ProfilePictureUrl = "UserImages/Default.png";
            }
            model.StatusOptions = Utility.GetUserStatusOptions();

            model.SetSharedData(User);

            //   model.Users = model.Users.OrderByDescending(x => x.Id).ToList();

            return(View(model));
        }
예제 #19
0
        public async Task <JObject> UploadImage(HttpPostedFileBase files)
        {
            //var ImageFileProduct = Request.Files;
            //ByteArrayContent fileContent;
            //List<byte[]> productImages = new List<byte[]>();
            //byte[] fileDataProductImage = null;
            //MultipartFormDataContent content = new MultipartFormDataContent();
            //foreach (string fileName in ImageFileProduct)
            //{
            //    HttpPostedFileBase file = ImageFileProduct[fileName];
            //    if (file.ContentLength > 0)
            //    {
            //        using (var binaryReader = new BinaryReader(file.InputStream))
            //        {
            //            fileDataProductImage = binaryReader.ReadBytes(file.ContentLength);
            //            productImages.Add(fileDataProductImage);
            //        }
            //    }
            //}
            //for (int i = 0; i < productImages.Count; i++)
            //{
            //    fileContent = new ByteArrayContent(productImages[i]);
            //    fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "Product_" + i + Path.GetExtension(ImageFileProduct[0].FileName) };
            //    content.Add(fileContent, "ProductImage");
            //}
            //// JObject response;
            //JObject response = await ApiCall.CallApi("api/Common/UploadImages", User, isMultipart: true, multipartContent: content);
            //return response;

            try
            {
                UploadImageBindingModel model = new UploadImageBindingModel();

                if (Request.Files.Count > 0)
                {
                    var file = Request.Files[0];
                    model.Image = file;
                    //if (file != null && file.ContentLength > 0)
                    //{
                    //    model.Image.FileName = Path.GetFileName(file.FileName);
                    //    var path = Path.Combine(Server.MapPath("~/Images/"), model.Image.FileName);

                    //    byte[] thePictureAsBytes = new byte[file.ContentLength];
                    //    using (BinaryReader theReader = new BinaryReader(file.InputStream))
                    //    {
                    //        model.Image.Buffer = theReader.ReadBytes(file.ContentLength);
                    //    }

                    //}
                }
                JObject response = await ApiCall.CallApi("api/Common/UploadImages", User, model);

                return(response);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #20
0
        public async Task <ActionResult> Sales()
        {
            try
            {
                ListOrderSalesGraph model;

                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetSalesGraphData", User, null, true));

                if (response is Error || response == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }

                model = response.GetValue("Result").ToObject <ListOrderSalesGraph>();

                List <LineSeriesData> lstOrdersData = new List <LineSeriesData>();
                var yAxis = model.Orders.Select(x => new LineSeriesData
                {
                    Y = x.Total
                }).ToList();

                var xAxis = model.Orders.Select(x => x.OrderDateTime.ToString("dd/MM/yyyy")).ToList();

                #region Commented
                //List<LineSeriesData> lstTestUsa = new List<LineSeriesData>();
                //lstTestUsa.Add(new LineSeriesData
                //{
                //    Y = 6
                //});
                //lstTestUsa.Add(new LineSeriesData
                //{
                //    Y = 11
                //});

                //List<LineSeriesData> lstTestRussia = new List<LineSeriesData>();
                //lstTestRussia.Add(new LineSeriesData
                //{
                //    Y = 8,

                //});
                //lstTestRussia.Add(new LineSeriesData
                //{
                //    Y = 11
                //});
                #endregion

                ViewData["sales"] = yAxis;
                ViewData["xAxis"] = xAxis;
                //ViewData["russiaData"] = lstTestRussia;
                Global.sharedDataModel.SetSharedData(User);
                return(View(Global.sharedDataModel));
            }
            catch (Exception ex)
            {
                Utility.LogError(ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
            }
        }
예제 #21
0
        // GET: Dashboard/Videos
        public async Task <ActionResult> Index()
        {
            var response = await ApiCall.CallApi("api/Videos/GetHowItWorksVideoUrl", User, null, true);

            AddHowItWorksViewModel model = response.GetValue("Result").ToObject <AddHowItWorksViewModel>();

            model.SetSharedData(User);
            return(View(model));
        }
예제 #22
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            try
            {
                ClaimsIdentity identity;

                if (!ModelState.IsValid)
                {
                    return(View(model));
                }

                var response = await ApiCall.CallApi("api/Admin/WebPanelLogin", User, model);

                if (response == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.ServiceUnavailable));
                }
                if (response is Error)
                {
                    ModelState.AddModelError("", (response as Error).ErrorMessage);
                    return(View("Login", model));
                }
                else
                {
                    var adminModel = response.GetValue("result").ToObject <AdminViewModel>();
                    identity = new ClaimsIdentity(DefaultAuthenticationTypes.ApplicationCookie);
                    identity.AddClaim(new Claim("username", model.Email));
                    identity.AddClaim(new Claim("AdminId", adminModel.Id.ToString()));
                    identity.AddClaim(new Claim("FullName", adminModel.firstName + " " + adminModel.LastName));
                    identity.AddClaim(new Claim("ProfilePictureUrl", adminModel.ImageUrl ?? ""));
                    identity.AddClaim(new Claim(ClaimTypes.Name, model.Email));
                    identity.AddClaim(new Claim(ClaimTypes.Role, adminModel.Role.ToString()));
                    identity.AddClaim(new Claim("access_token", adminModel.Token.access_token));
                    identity.AddClaim(new Claim("token_type", "bearer"));
                    //identity.AddClaim(new Claim("expires_in", adminModel.Token.expires_in));
                    //identity.AddClaim(new Claim("refresh_token", adminModel.Token.refresh_token));
                    if (adminModel.Store_Id != null)
                    {
                        identity.AddClaim(new Claim("StoreId", Convert.ToString(adminModel.Store_Id)));
                    }
                    else
                    {
                        identity.AddClaim(new Claim("StoreId", "0"));
                    }

                    AuthenticationManager.SignOut();
                    AuthenticationManager.SignIn(identity);
                    return(RedirectToAction("Index", "Home", new { area = "Dashboard" }));
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #23
0
        public async Task <ActionResult> AddVehicleType(VehiclesTypesBindingModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.DefaultImageFile != null)
                {
                    string theFileName       = Path.GetFileName(model.DefaultImageFile.FileName);
                    byte[] thePictureAsBytes = new byte[model.DefaultImageFile.ContentLength];
                    using (BinaryReader theReader = new BinaryReader(model.DefaultImageFile.InputStream))
                    {
                        thePictureAsBytes = theReader.ReadBytes(model.DefaultImageFile.ContentLength);
                    }
                    model.DefaultImage = new PictureModel();
                    string picturestring = Convert.ToBase64String(thePictureAsBytes);
                    model.DefaultImage.ImageString = picturestring;
                    model.DefaultImage.Name        = theFileName;
                    model.DefaultImageFile         = null;
                }
                if (model.SelectedImageFile != null)
                {
                    string theFileName1       = Path.GetFileName(model.SelectedImageFile.FileName);
                    byte[] thePictureAsBytes1 = new byte[model.SelectedImageFile.ContentLength];
                    using (BinaryReader theReader = new BinaryReader(model.SelectedImageFile.InputStream))
                    {
                        thePictureAsBytes1 = theReader.ReadBytes(model.SelectedImageFile.ContentLength);
                    }
                    model.SelectedImageFile         = null;
                    model.SelectedImage             = new PictureModel();
                    model.SelectedImage.ImageString = Convert.ToBase64String(thePictureAsBytes1);
                    model.SelectedImage.Name        = theFileName1;
                    model.SelectedImageFile         = null;
                }
                JObject response;
                response = await ApiCall.CallApi("/api/Admin/AddEditRideType", User, model);

                if (response.ToString().Contains("UnAuthorized"))
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized, "UnAuthorized Error"));
                }

                else if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
                }

                return(RedirectToAction("ManageVehicleTypes", "Rides"));
            }
            else
            {
                return(View());
            }
        }
예제 #24
0
        public void TestUrlApiCall()
        {
            var path      = "https://api.kraken.com/0/public/Trades?pair=XXBTZEUR&since=" + 1482576757925126325;
            var api       = new ApiCall();
            var exception = string.Empty;

            var json = api.CallApi(path, out exception);

            var process = new ProcessTradeData();
            var trades  = process.ProcessJsonModel(new SharedData(), json, CurrencyPair.BtcEur);

            Assert.AreEqual(trades[0].Price, 863.73500M);
        }
예제 #25
0
        public async Task <JObject> UploadImage(HttpPostedFileBase files)
        {
            //if (Request.Files.Count > 0)
            //{
            //    if (Type == 1)
            //    {
            //        Request.RequestContext.HttpContext.Session.Remove("AddBannerImage");
            //        Request.RequestContext.HttpContext.Session.Add("AddBannerImage", Request.Files);
            //    }
            //    else if (Type == 2)
            //    {
            //        Request.RequestContext.HttpContext.Session.Remove("AddInstagramImage");
            //        Request.RequestContext.HttpContext.Session.Add("AddInstagramImage", Request.Files[0]);
            //    }
            //}
            //return Json("Success", JsonRequestBehavior.AllowGet);


            var ImageFileProduct = Request.Files;
            ByteArrayContent fileContent;
            List <byte[]>    productImages = new List <byte[]>();

            byte[] fileDataProductImage      = null;
            MultipartFormDataContent content = new MultipartFormDataContent();

            foreach (string fileName in ImageFileProduct)
            {
                HttpPostedFileBase file = ImageFileProduct[fileName];
                if (file.ContentLength > 0)
                {
                    using (var binaryReader = new BinaryReader(file.InputStream))
                    {
                        fileDataProductImage = binaryReader.ReadBytes(file.ContentLength);
                        productImages.Add(fileDataProductImage);
                    }
                }
            }
            for (int i = 0; i < productImages.Count; i++)
            {
                fileContent = new ByteArrayContent(productImages[i]);
                fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = "Product_" + i + Path.GetExtension(ImageFileProduct[0].FileName)
                };
                content.Add(fileContent, "ProductImage");
            }
            // JObject response;
            JObject response = await ApiCall.CallApi("api/UploadProductImages", User, isMultipart : true, multipartContent : content);

            return(response);
        }
예제 #26
0
        public ActionResult GetUser(int UserId)
        {
            try
            {
                var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/GetUser", User, null, true, false, null, "User_Id=" + UserId));

                UserDataViewModel model = null;

                if (response is Error)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
                }
                else
                {
                    model = response.GetValue("result").ToObject <UserDataViewModel>();
                }

                if (model.ProfilePictureUrl == null || model.ProfilePictureUrl == "")
                {
                    model.ProfilePictureUrl = "UserImages/Default.png";
                }
                //foreach (var subscription in model.UserSubscriptions)
                //{
                //    subscription.Box.CategoryName = Utility.GetBoxCategoryName(subscription.Box.BoxCategory_Id);

                //}

                //foreach (var order in model.Orders)
                //{
                //    order.PaymentMethodName = Utility.GetPaymentMethodName(order.PaymentMethod);
                //    order.PaymentStatusName = Utility.GetPaymentStatusName(order.PaymentStatus);
                //}


                //model.UserAddresses = model.UserAddresses.Where(x => x.IsDeleted == false).ToList();
                //model.PaymentCards = model.PaymentCards.Where(x => x.IsDeleted == false).ToList();

                //foreach (var notification in model.Notifications)
                //{
                //    notification.StatusName = notification.Status == 0 ? "Unread" : "Read";
                //}
                model.SetSharedData(User);

                return(View("User", model));
            }
            catch (Exception ex)
            {
                return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
            }
        }
예제 #27
0
        public ActionResult GetProducts()
        {
            SettingsSelectProductViewModel productList = new SettingsSelectProductViewModel();
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/GetAllProducts", User, null, true, false, null, "UserId=1", "PageSize=1000", "PageNo=0"));

            if (response == null || response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
            }
            else
            {
                productList = response.GetValue("Result").ToObject <SettingsSelectProductViewModel>();
            }
            return(Json(productList));
        }
예제 #28
0
        public ActionResult SearchProductResults(SearchProductModel model)
        {
            SearchProductsViewModel returnModel = new SearchProductsViewModel();
            var response = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/SearchProducts", User, null, true, false, null, "ProductName=" + model.ProductName + "", "ProductPrice=" + model.ProductPrice, "CategoryName=" + model.CategoryName + "", "StoreId=" + Global.StoreId, "CatId=null"));

            if (response is Error)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage));
            }
            else
            {
                returnModel = response.GetValue("Result").ToObject <SearchProductsViewModel>();
            }
            returnModel.SetSharedData(User);
            return(PartialView("_SearchProductResults", returnModel));
        }
예제 #29
0
        public ActionResult UpdateFCMToken(FCMTokenModel model)
        {
            try
            {
                var response = AsyncHelpers.RunSync<JObject>(() => ApiCall.CallApi("api/Admin/AddUpdateFCMToken", User, model));

                if (response == null || response is Error)
                    return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, (response as Error).ErrorMessage);

                return Json("Success", JsonRequestBehavior.AllowGet);
            }
            catch (Exception ex)
            {
                return new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error");
            }
        }
예제 #30
0
 public ActionResult SendNotificationToUser(UserBindingModel model)
 {
     try
     {
         var apiResponse = AsyncHelpers.RunSync <JObject>(() => ApiCall.CallApi("api/Admin/SendNotificationToUser", User, model.SendNotification));
         if (apiResponse is Error || apiResponse == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Internal Server Error"));
         }
         return(Json("Success", JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(new HttpStatusCodeResult(Utility.LogError(ex), "Internal Server Error"));
     }
 }