/// <summary> /// method to insert image from url to DB and set the relevant property of pokemon object /// </summary> /// <param name="pokemon">object which property needs to be set</param> public void setImageId(AnPokemonProxy pokemon) { var imageApi = new ImageAPI(userConnection); WebRequest imageRequest = WebRequest.Create(pokemon.ImageURL); MemoryStream Image = new MemoryStream(); imageRequest.GetResponse().GetResponseStream().CopyTo(Image); pokemon.ImageId = imageApi.Save(Image, "image/png", $"An{pokemon.Name}Image").ToString(); }
public FileContentResult PostImage(ImageAPI image) { var imageUnpacked = Convert.FromBase64String(image.ImageData); var img = Image.Load(new MemoryStream(imageUnpacked)); foreach (Transform t in image.Transforms) { switch (t.Command) { case "FlipH": FlipH(img); break; case "FlipV": FlipV(img); break; case "Rotate": Rotate(img, t.Args); break; case "GrayScale": GrayScale(img); break; case "Resize": Resize(img, t.Args); break; case "Thumbnail": Thumbnail(img); break; default: break; } } var output = new MemoryStream(); img.SaveAsPng(output); return(File(output.ToArray(), "image/png")); }
public virtual bool AfterContactSavedScriptTaskExecute(ProcessExecutingContext context) { if (PhotoHasChanged) { Guid photoId = Entity.GetTypedColumnValue <Guid>("PhotoId"); if (photoId != Guid.Empty) { ImageAPI imageApi = new ImageAPI(UserConnection); ImageData imageData = imageApi.Get(photoId); if (imageData.Stream.Length == 0) { imageApi.Save(imageData.PreviewStream, photoId); } else { imageApi.SaveThumbnail(photoId, 256, 256, null, 75); } } } return(true); }
public async Task <ImageAPI> PerformGetImageAsync(string itemcode) { Debug.WriteLine("Activate get Image"); ImageAPI Items = new ImageAPI(); Debug.WriteLine("mã hàng:" + itemcode); var uri = new Uri(string.Format(Constants.RestImageUrl, itemcode)); try { Debug.WriteLine("link:" + uri); var response = await client.GetAsync(uri); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsStringAsync(); Debug.WriteLine(content); Items = JsonConvert.DeserializeObject <ImageAPI>(content); if (Items.code == 200) { return(Items); } else { Items.image = ""; return(Items); } } } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); } throw new NotImplementedException(); }
public async void SetLayout(string itemcode) { Debug.WriteLine("active layout"); NavigationPage.SetHasBackButton(this, true); NavigationPage.SetHasNavigationBar(this, true); string hotline = "19001122"; var scroll = new ScrollView() { BackgroundColor = Color.FromHex("#dddee3") }; var layout = new StackLayout(); var paddingTLR = new Thickness(10, 10, 10, 10); var paddingTB = new Thickness(0, 10, 0, 10); //Trích xuất dữ liệu LayoutDataResult dataresult = new LayoutDataResult(); ProductAPI proapi = new ProductAPI(); CompanyAPI comapi = new CompanyAPI(); ImageAPI image = new ImageAPI(); try { proapi = await App.SvManager.GetProductAsync(itemcode); comapi = await App.SvManager.GetCompanyAsync(itemcode); image = await App.SvManager.GetImageAsync(itemcode); Product pro = proapi.item; Company com = comapi.company; dataresult.product = pro; dataresult.company = com; if (image.image.Contains("data:image/png;base64,")) { string head = "data:image/png;base64,"; image.image = image.image.Remove(0, head.Length); } Debug.WriteLine(dataresult.image); dataresult.image = image.image; StackLayout stack1 = new StackLayout(); Image verifyimage = new Image { HeightRequest = Application.Current.MainPage.Width / 4, WidthRequest = Application.Current.MainPage.Width / 4, }; System.Diagnostics.Debug.WriteLine("Image point" + Application.Current.MainPage.Width / 4); Label verifyLabel = new Label() { TextColor = Color.Red }; Label thanksLabel = new Label() { TextColor = Color.Red }; var muaspButton = new Button { Text = "MUA SẢN PHẨM", TextColor = Color.White, BackgroundColor = Color.FromHex(Constants.ColorPrimary), IsVisible = App.Bought }; string verifyLabelText = "", thanksLabelText = ""; stack1.Children.Add(verifyimage); stack1.Children.Add(verifyLabel); stack1.Children.Add(thanksLabel); layout.Children.Add(stack1); stack1.BackgroundColor = Color.White; stack1.Padding = paddingTB; layout.Spacing = 10; scroll.Content = layout; if (proapi.code == 444 || proapi.code == 400 || proapi.code == 445) { verifyimage.Source = "icon_result_2"; verifyLabelText = "SẢN PHẨM KHÔNG CÓ TRONG HỆ THỐNG"; thanksLabelText = "Bạn hãy cẩn thận"; verifyLabel.Text = verifyLabelText; verifyLabel.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)); verifyLabel.HorizontalOptions = LayoutOptions.CenterAndExpand; thanksLabel.Text = thanksLabelText; thanksLabel.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)); thanksLabel.HorizontalOptions = LayoutOptions.CenterAndExpand; } else { if (dataresult.product.ite_status == "3") { verifyimage.Source = "icon_result_3"; verifyLabelText = "SẢN PHẨM CHÍNH HÃNG"; thanksLabelText = "Cảm ơn bạn đã mua hàng"; verifyLabel.TextColor = Color.Green; thanksLabel.TextColor = Color.Green; App.Bought = true; } else if (dataresult.product.ite_status != "3" && proapi.changed == 0) { verifyimage.Source = "icon_result_1"; verifyLabelText = "SẢN PHẨM ĐÃ ĐƯỢC MUA"; thanksLabelText = "Ngày bán: " + pro.ite_soldtime; App.Bought = false; } else if (dataresult.product.ite_status != "3" && proapi.changed == 1) { verifyimage.Source = "icon_result_1"; verifyLabelText = "XIN CẢM ƠN BẠN ĐÃ MUA HÀNG"; thanksLabelText = "Vào lúc: " + pro.ite_soldtime; verifyLabel.TextColor = Color.Green; thanksLabel.TextColor = Color.Green; App.Bought = true; } Debug.WriteLine(verifyimage.Source.ToString()); verifyLabel.Text = verifyLabelText; verifyLabel.FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)); verifyLabel.FontAttributes = FontAttributes.Bold; verifyLabel.HorizontalOptions = LayoutOptions.CenterAndExpand; thanksLabel.Text = thanksLabelText; thanksLabel.FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)); thanksLabel.HorizontalOptions = LayoutOptions.CenterAndExpand; //Ảnh sản phẩm var proimage = new Image() { WidthRequest = App.Current.MainPage.Width / 3 }; if (dataresult.image != "") { proimage = new Image(); try { byte[] proimageBytes = Convert.FromBase64String(dataresult.image); proimage.Source = ImageSource.FromStream( () => new MemoryStream(proimageBytes)); } catch { proimage.Source = "icon_default"; } } else { proimage.Source = "icon_default"; } //Nội dung sản phẩm var productdetailStack = new StackLayout(); var itemnameLabel = new Label { Text = pro.pro_name, TextColor = Color.Black }; itemnameLabel.FontAttributes = FontAttributes.Bold; var stackitemcodeLabel = new StackLayout() { Orientation = StackOrientation.Horizontal }; var maSPLabel = new Label { Text = "Mã SP: ", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; var itemcodeLabel = new Label { Text = itemcode, TextColor = Color.Black }; var hotlineLabel = new Label { Text = "Hotline: " + hotline, TextColor = Color.Black }; stackitemcodeLabel.Children.Add(maSPLabel); stackitemcodeLabel.Children.Add(itemcodeLabel); productdetailStack.Children.Add(itemnameLabel); productdetailStack.Children.Add(stackitemcodeLabel); productdetailStack.Children.Add(hotlineLabel); productdetailStack.Children.Add(muaspButton); var grid = new Grid(); grid.RowDefinitions.Add(new RowDefinition { Height = Application.Current.MainPage.Width / 3 }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(2, GridUnitType.Star) }); grid.ColumnDefinitions.Add(new ColumnDefinition { Width = new GridLength(3, GridUnitType.Star) }); grid.Children.Add(proimage, 0, 0); grid.Children.Add(productdetailStack, 1, 0); var stack2 = new StackLayout(); stack2.Children.Add(grid); stack2.Padding = paddingTB; stack2.BackgroundColor = Color.White; layout.Children.Add(stack2); var stackprivate = new StackLayout(); if (App.sessionId != null) { var privatetitle = new Label { Text = "THÔNG TIN NỘI BỘ", FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), FontAttributes = FontAttributes.Bold, TextColor = Color.Black }; var privategapBoxView = new BoxView { Color = Color.Gray, HeightRequest = 1, WidthRequest = (Application.Current.MainPage.Width / 7) * 6, VerticalOptions = LayoutOptions.Center }; var private_z = new Label() { Text = dataresult.product.private_z, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), //FontAttributes = FontAttributes.Bold, TextColor = Color.Black }; stackprivate.Children.Add(privatetitle); stackprivate.Children.Add(privategapBoxView); stackprivate.Children.Add(private_z); stackprivate.Padding = paddingTLR; stackprivate.BackgroundColor = Color.White; layout.Children.Add(stackprivate); } //Thông tin chi tiết sản phẩm var stack3 = new StackLayout(); var productdetailWebView = new WebView { Source = new HtmlWebViewSource { Html = @"<html><body>" + dataresult.product.pro_detail + "</body></html>" }, HeightRequest = 250, //MinimumHeightRequest = 100, WidthRequest = 1000 }; var productdetailtitleLabel = new Label { Text = "THÔNG TIN SẢN PHẨM", FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), FontAttributes = FontAttributes.Bold, TextColor = Color.Black }; stack3.Children.Add(productdetailtitleLabel); var gapBoxView1 = new BoxView { Color = Color.Gray, HeightRequest = 1, WidthRequest = (Application.Current.MainPage.Width / 7) * 6, VerticalOptions = LayoutOptions.Center }; stack3.Children.Add(gapBoxView1); stack3.Children.Add(productdetailWebView); stack3.Padding = paddingTLR; stack3.BackgroundColor = Color.White; layout.Children.Add(stack3); //Mô tả công ty var stack4 = new StackLayout(); var companydetailview = new StackLayout(); var companytitleLabel = new Label { Text = "DOANH NGHIỆP SỞ HỮU", FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), FontAttributes = FontAttributes.Bold, TextColor = Color.Black }; companydetailview.Children.Add(companytitleLabel); var gapBoxView = new BoxView { Color = Color.Gray, HeightRequest = 1, WidthRequest = (Application.Current.MainPage.Width / 7) * 6, VerticalOptions = LayoutOptions.Center }; companydetailview.Children.Add(gapBoxView); var companynameLabel = new Label { Text = "Tên công ty: " + dataresult.company.name, TextColor = Color.Black }; companydetailview.Children.Add(companynameLabel); var companyaddressLabel = new Label { Text = "Địa chỉ: " + dataresult.company.addr, TextColor = Color.Black }; companydetailview.Children.Add(companyaddressLabel); var companyphoneLabel = new Label { Text = "Điện thoại: " + dataresult.company.mobile, TextColor = Color.Black }; companydetailview.Children.Add(companyphoneLabel); var companyemailLabel = new Label { Text = "Email: " + dataresult.company.email, TextColor = Color.Black }; companydetailview.Children.Add(companyemailLabel); var companywebsiteLabel = new Label { Text = "Website: " + dataresult.company.website, TextColor = Color.Black }; companydetailview.Children.Add(companywebsiteLabel); stack4.Children.Add(companydetailview); var endBoxView = new BoxView { BackgroundColor = Color.FromHex(color_theme), HeightRequest = 50 }; stack4.Padding = paddingTLR; stack4.BackgroundColor = Color.White; layout.Children.Add(stack4); layout.Children.Add(endBoxView); //Lưu dự liệu scan vào lịch sử //DateTime now = DateTime.Now.ToLocalTime(); string datestring = DateTime.Now.ToString("dd/MM/yy HH:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture); Debug.WriteLine(datestring); HistoryScanItem scannedItem = new HistoryScanItem() { itemcode = itemcode, itemname = pro.pro_name, itemimage = image.image, companyname = com.name, datetime = datestring }; Debug.WriteLine("active database"); //App.HDatabase.DeleteAllAsync(); await App.HDatabase.SaveItemAsync(scannedItem); App.AppHSI.Insert(0, scannedItem);//xử lý listview android Debug.WriteLine("database save done!"); disback = false; muaspButton.Clicked += async delegate(object sender, EventArgs e) { //var confirmgrid = grid; await Navigation.PushPopupAsync(new BuyDialog(dataresult.image, itemcode, hotline, pro.pro_name)); }; //var locationresp; Debug.WriteLine("active location"); var location = new LocationAPI(); Device.BeginInvokeOnMainThread(async() => { location = await App.SvLocationManager.GetLocationAsync(); try { await App.SvLocationManager.UpdateLocationAsync(location, true, itemcode); } catch (Exception ex) { Debug.WriteLine("ko lưu đc location " + ex); } } ); Device.StartTimer(TimeSpan.FromSeconds(0.1), () => { // Do something //Debug.WriteLine("Chỉ số đã mua: " + App.Bought); if (App.Bought == false) { muaspButton.IsVisible = false; } //Nút mua sẽ luôn hiển thị khi giá trị bought là false (đã mua) if (App.Bought == false && App.soldtime != null) { //giá trị text chỉ thực hiện thay đổi sau khi đã click vào nút mua tức giá trị soldtime sẽ thay đổi //App soldtime sẽ được khai báo null khi tạo mới một resultpage và sẽ được gán giá trị mới khi click vào mua hàng //verifyimage.Source = "icon_result_1"; verifyLabel.Text = "XIN CẢM ƠN BẠN ĐÃ MUA HÀNG"; thanksLabel.Text = "Ngày bán: " + App.soldtime; return(false); } return(true); // True = Repeat again, False = Stop the timer }); } Content = scroll; } catch (Exception ex) { Debug.WriteLine(ex); Debug.WriteLine("Type" + ex.GetType()); if (ex.GetType().ToString() == "System.NotImplementedException") { CheckLoadingInit(itemcode); } Content = SetErrorPage(); } }