コード例 #1
0
        public PublishUnpublish_OfferSave(string img, string offer, string Id, string validfrom, string validto, string tc, string status, string storeUid)
        {
            InitializeComponent();

            CustomNavigationPage.SetTitlePosition(this, CustomNavigationPage.TitleAlignment.Center);
            CustomNavigationPage.SetTitleFont(this, Font.SystemFontOfSize(NamedSize.Large));
            CustomNavigationPage.SetGradientColors(this, new Tuple <Color, Color>(Color.FromHex("#17a39d"), Color.FromHex("#17a39d")));

            string imagepath2 = img;
            string Offer      = offer;

            OfferID   = Id;
            Validfrom = validfrom;
            Validto   = validto;
            string Tc     = tc;
            string Status = status;

            StoreUID = storeUid;

            if (imagepath2.StartsWith("File"))
            {
                int index = imagepath2.IndexOf("File");
                var img1  = imagepath2.Substring(index + 6);
                offerimage.Source = img1;
            }
            else if (imagepath2.StartsWith("Uri"))
            {
                int index = imagepath2.IndexOf("Uri");
                var img1  = imagepath2.Substring(index + 5);
                offerimage.Source = ImageSource.FromUri(new System.Uri(img1));
            }

            offer1.Text     = Offer;
            tc1.Text        = Tc;
            validfrom1.Text = Validfrom;
            validto1.Text   = Validto;
        }
コード例 #2
0
 public Offer()
 {
     InitializeComponent();
     CustomNavigationPage.SetGradientColors(this, new Tuple <Color, Color>(Color.FromHex("#17a39d"), Color.FromHex("#17a39d")));
 }
コード例 #3
0
        public Chat(string id, string name, string consumerid, string storeuid, string Customername)
        {
            TextContainer = new ObservableCollection <MessageText>();
            listView      = new ListView();
            QueryId       = id;
            QueryName     = name;
            Consumerid    = consumerid;
            Storeuid      = storeuid;
            CustName      = Customername;

            BindingContext = this;

            InitializeComponent();
            CustomNavigationPage.SetGradientColors(this, new Tuple <Color, Color>(Color.FromHex("#17a39d"), Color.FromHex("#17a39d")));

            Title = QueryName;
            // BindData();
            //   CustomNavigationPage.SetGradientColors(this, new Tuple<Color, Color>(Color.FromHex("#17a39d"), Color.FromHex("#17a39d")));

            manager1 = TodoItemManager.DefaultManager;

            SignalRClient.Start().ContinueWith(task => {
                if (task.IsFaulted)
                {
                    DisplayAlert("Error", "An error occurred when trying to connect to SignalR: " + task.Exception.InnerExceptions[0].Message, "OK");
                }
            });

            memberDatabase = new MemberDatabase();
            var members = memberDatabase.GetUserDetail();

            UserDetail userin = (from blog in members
                                 select blog).FirstOrDefault();

            if (userin != null)
            {
                UserNameSentMessage  = userin.Name;
                UsernameTextbox.Text = userin.Name;
            }


            //  BindData();

            //  BindFromAzure();
            if (CrossConnectivity.Current.IsConnected)
            {
                BindFromAWS();
            }



            else
            {
                BindData();
            }

            SignalRClient.Start();

            //try to reconnect every 10 seconds, just in case
            Device.StartTimer(TimeSpan.FromSeconds(5), () => {
                if (!SignalRClient.IsConnectedOrConnecting)
                {
                    SignalRClient.Start();
                }

                return(true);
            });

            try
            {
                MessageSent += async(uploadedFilename) =>
                {
                    try
                    {
                        var tt   = DateTime.Now;
                        var text = uploadedFilename;


                        if (text.StartsWith("awsimage"))
                        {
                            var sendMessage = text.Substring(text.LastIndexOf("/") + 1);
                            sendMessage = "awsimage" + sendMessage;
                            SignalRClient.SendMessage(UsernameTextbox.Text, sendMessage);

                            int index = text.IndexOf("awsimage");
                            uploadedFilename = text.Substring(index + 8);

                            // string images = "https://maudit.elixirct.net/UploadFileToServer/Uploads/" + uploadedFilename;
                            // var images = DependencyService.Get<IFileService>().GetPictureFromDisk(uploadedFilename, getGalleryPath());
                            TextContainer.Add(new MessageText {
                                imgsource = uploadedFilename, imgheight = "200", imgwidth = "200", Status = "Sent", DateSent = DateTime.Now, StoreNameMessage = UserNameSentMessage
                            });

                            var last4 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                            ListView.ScrollTo(last4, ScrollToPosition.MakeVisible, false);

                            uploadedFilename = uploadedFilename.Substring(uploadedFilename.LastIndexOf("/") + 1);

                            try
                            {
                                MemoryStream ms = new MemoryStream();
                                member          = new Member();
                                memberDatabase  = new MemberDatabase();
                                member.Text     = uploadedFilename;
                                member.Status   = "Sent";
                                member.Datetime = DateTime.Now;
                                member.Query_ID = QueryId;
                                member.Type     = "IMG";

                                if (member != null)
                                {
                                    memberDatabase.AddMember(member);
                                }

                                string Inputs = "QueryId=" + QueryId + "&ChatText=" + uploadedFilename + "&StoreUID=" + Storeuid + "&ConumerUniqueID=" + Consumerid +
                                                "&ChatType=" + "IMG" + "&IsActive=" + "1" + "&Status=" + "Sent" + "&Rating=" + "";
                                string resp = await RestService.SaveChat(Inputs);

                                var result = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(resp);
                            }
                            catch (Exception ex)
                            {
                                System.Diagnostics.Debug.WriteLine(ex);
                            }
                        }
                        else
                        {
                            SignalRClient.SendMessage(UsernameTextbox.Text, uploadedFilename);


                            TextContainer.Add(new MessageText {
                                Text = text, imgheight = "10", imgwidth = "10", imgsource = imlocal, Status = "Sent", DateSent = DateTime.Now, StoreNameMessage = UserNameSentMessage
                            });
                            var last2 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                            ListView.ScrollTo(last2, ScrollToPosition.MakeVisible, true);

                            try
                            {
                                string Inputs = "QueryId=" + QueryId + "&ChatText=" + text + "&StoreUID=" + Storeuid + "&ConumerUniqueID=" + Consumerid +
                                                "&ChatType=" + "Text" + "&IsActive=" + "1" + "&Status=" + "Sent" + "&Rating=" + "";
                                string resp = await RestService.SaveChat(Inputs);

                                var result = Newtonsoft.Json.JsonConvert.DeserializeObject <string>(resp);

                                if (result != "0")
                                {
                                    MemoryStream ms = new MemoryStream();
                                    member          = new Member();
                                    memberDatabase  = new MemberDatabase();
                                    member.Text     = uploadedFilename;
                                    member.Status   = "Sent";
                                    member.Datetime = DateTime.Now;
                                    member.Query_ID = QueryId;
                                    member.Type     = "Text";

                                    if (member != null)
                                    {
                                        memberDatabase.AddMember(member);
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                System.Diagnostics.Debug.WriteLine(ex);
                            }
                        }

                        var last = ListView.ItemsSource.Cast <object>().LastOrDefault();
                        ListView.ScrollTo(last, ScrollToPosition.MakeVisible, false);
                        imlocal = null;
                    }
                    catch (Exception ex)
                    {
                        await DisplayAlert("Alert", "Please wait 5 second, The connection has not been established", "Ok");

                        System.Diagnostics.Debug.WriteLine(ex);
                    }
                };

                SignalRClient.OnMessageReceived += (username, uploadedFilename) =>
                {
                    if (username != UserNameSentMessage)
                    {
                        var cname = username;
                        var cc    = uploadedFilename;

                        if (cc.StartsWith("awsimage"))
                        {
                            int index = cc.IndexOf("awsimage");

                            uploadedFilename = cc.Substring(index + 8);

                            //var imageData = await AzureStorage.GetFileAsync(ContainerType.Image, uploadedFilename);
                            //imlocal = ImageSource.FromStream(() => new MemoryStream(imageData));
                            //var imagestore2 = uploadedFilename + ".jpg";
                            //Stream stream = new MemoryStream(imageData);
                            //DependencyService.Get<IFileService>().SavePicture(imagestore2, stream, getGalleryPath());
                            string url = "http://elixirct.in/ShopRConservicePublish/Uploads/" + uploadedFilename;
                            // string url = "http://elixirct.in/ShopRConservicePublish/Uploads" + uploadedFilename;

                            try
                            {
                                DependencyService.Get <IFileService>().DownloadFile(url, getGalleryPath());
                                var images = DependencyService.Get <IFileService>().GetPictureFromDisk(uploadedFilename, getGalleryPath());
                                //  var client = new HttpClient();
                                //   var uri = new Uri(Uri.EscapeUriString(url));
                                //    byte[] urlContents = await client.GetByteArrayAsync(uri);
                                //     var stream1 = new MemoryStream(urlContents);

                                TextContainer.Add(new MessageText {
                                    imgsource = images, imgheight = "200", imgwidth = "200", Status = "Received", DateSent = DateTime.Now, CustomerChatName = cname
                                });
                            }

                            catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); }
                            Task.Delay(TimeSpan.FromSeconds(1));
                            //  var last3 = ListView.ItemsSource.Cast<object>().LastOrDefault();
                            //  ListView.ScrollTo(last3, ScrollToPosition.MakeVisible, true);

                            member          = new Member();
                            memberDatabase  = new MemberDatabase();
                            member.Text     = uploadedFilename;
                            member.Status   = "Received";
                            member.Datetime = DateTime.Now;
                            member.Query_ID = QueryId;
                            member.Type     = "IMG";

                            if (member != null)
                            {
                                memberDatabase.AddMember(member);
                            }
                        }

                        //else if (cc.StartsWith("pdf"))
                        //{
                        //    int index = cc.IndexOf("pdf");

                        //    uploadedFilename = cc.Substring(index + 3);

                        //    var imageData = await AzureStorage.GetFileAsync(ContainerType.Image, uploadedFilename);
                        //    imlocal = ImageSource.FromStream(() => new MemoryStream(imageData));

                        //    var imagestore2 = uploadedFilename + ".pdf";
                        //    Stream stream = new MemoryStream(imageData);
                        //    DependencyService.Get<IFileService>().SavePicture(imagestore2, stream, getGalleryPath());
                        //    var images = DependencyService.Get<IFileService>().GetPictureFromDisk(imagestore2, getGalleryPath());
                        //    // TextContainer.Add(new MessageText { imgsource = images, imgheight = "200", imgwidth = "200", Status = "Sent", DateSent = DateTime.Now });
                        //    TextContainer.Add(new MessageText { Text = images, imgheight = "10", imgwidth = "10", Status = "Sent", DateSent = DateTime.Now });

                        //   var last21 = ListView.ItemsSource.Cast<object>().LastOrDefault();
                        //   ListView.ScrollTo(last21, ScrollToPosition.MakeVisible, true);
                        //}


                        else
                        {
                            TextContainer.Add(new MessageText {
                                Text = cc, imgheight = "10", imgwidth = "10", Status = "Received", DateSent = DateTime.Now, CustomerChatName = cname
                            });
                            var last2 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                            ListView.ScrollTo(last2, ScrollToPosition.MakeVisible, true);

                            member          = new Member();
                            memberDatabase  = new MemberDatabase();
                            member.Text     = cc;
                            member.Status   = "Received";
                            member.Datetime = DateTime.Now;
                            member.Query_ID = QueryId;
                            member.Type     = "Text";

                            if (member != null)
                            {
                                memberDatabase.AddMember(member);
                                var last3 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                                ListView.ScrollTo(last3, ScrollToPosition.MakeVisible, true);
                            }
                        }

                        var last32 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                        ListView.ScrollTo(last32, ScrollToPosition.MakeVisible, true);
                    }
                    var last31 = ListView.ItemsSource.Cast <object>().LastOrDefault();
                    ListView.ScrollTo(last31, ScrollToPosition.MakeVisible, true);
                };
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);
                DisplayAlert("Alert", "Some Network Problem", "OK");
            }


            Messagebox.Completed += (s, e) =>
            {
                if (CrossConnectivity.Current.IsConnected)
                {
                    var messageSent = MessageSent;
                    if (messageSent != null)
                    {
                        messageSent(Messagebox.Text);
                    }
                    Messagebox.Text = string.Empty;
                }
                else
                {
                    // DisplayAlert("Alert", "Please check your internet connection", "OK");
                }
            };
        }