Exemple #1
0
        internal void saveAdvertisement(advertisement ad)
        {
            advertisement Old = new advertisement();

            Old = ad.SearchById(ad.Id);
            if (Old != null)
            {
                updateUI(new System.Action(() => grid("Captured", ad.Id+" : Already Exist..!", Color.Blue)));
                try
                {
                    ad.firstSceen = Old.firstSceen;
                    var CurrentHit = Old.Hits.Find(a => a.date == System.DateTime.Now.Date);
                    if (CurrentHit != null) CurrentHit.count++;
                    else
                    {
                        ad_hits hit = new ad_hits();
                        hit.date = System.DateTime.Now.Date;
                        hit.count = 1;
                        Old.Hits.Add(hit);
                    }
                    ad.Hits = Old.Hits;

                    var OldDetail = Old.ad_details.Find(a => a.advertiserUrl == ad.advertiserUrl[0]);
                    if (OldDetail != null)
                    {
                        OldDetail.lastSceen = System.DateTime.Now;
                        var imag = OldDetail.Images.Find(a => a.ImageUrl == ad.ad_details[0].Images[0].ImageUrl);
                        if (imag == null)
                        {
                            int index = Old.ad_details.FindIndex(a => a.advertiserUrl == ad.advertiserUrl[0]);
                            string ImagePath = Old.Id + "_" + index + "_" + OldDetail.Images.Count;
                            ImageDetails.Enqueue(ImagePath + "|" + ad.ad_details[0].Images[0].ImageUrl);
                            //if (NetworkFunctions.UploadImage(ImagePath, ad.ad_details[0].Images[0].ImageUrl))
                            {
                                ad.ad_details[0].Images[0].ServerUrl = ImagePath;
                                ad.ad_details[0].Images[0].IsServerUploaded = true;

                            }

                            OldDetail.Images.Add(ad.ad_details[0].Images[0]);
                        }
                        if (!OldDetail.publisherUrl.Contains(ad.ad_details[0].publisherUrl[0])) OldDetail.publisherUrl.Add(ad.ad_details[0].publisherUrl[0]);
                        var HitDetail = OldDetail.Hits.Find(a => a.date == System.DateTime.Now.Date);
                        if (HitDetail != null) HitDetail.count++;
                        else
                        {
                            ad_hits hit = new ad_hits();
                            hit.date = System.DateTime.Now.Date;
                            hit.count = 1;
                            OldDetail.Hits.Add(hit);
                        }

                    }
                    else
                    {
                        //int index = Old.ad_details.FindIndex(a => a.advertiserUrl == ad.advertiserUrl[0]);
                        string ImagePath = Old.Id + "_" + Old.ad_details.Count + "_" + 0;
                        ImageDetails.Enqueue(ImagePath + "|" + ad.ad_details[0].Images[0].ImageUrl);
                        //if (NetworkFunctions.UploadImage(ImagePath, ad.ad_details[0].Images[0].ImageUrl))
                        {
                            ad.ad_details[0].Images[0].ServerUrl = ImagePath;
                            ad.ad_details[0].Images[0].IsServerUploaded = true;

                        }
                        Old.ad_details.Add(ad.ad_details[0]);
                    }
                    ad.ad_details = Old.ad_details;
                    if (Old.publisherUrl.Contains(ad.publisherUrl[0])) ad.publisherUrl = Old.publisherUrl;
                    else
                    {
                        Old.publisherUrl.Add(ad.publisherUrl[0]);
                        ad.publisherUrl = Old.publisherUrl;
                    }
                    if (Old.advertiserUrl.Contains(ad.advertiserUrl[0])) ad.advertiserUrl = Old.advertiserUrl;
                    else
                    {
                        Old.advertiserUrl.Add(ad.advertiserUrl[0]);
                        ad.advertiserUrl = Old.advertiserUrl;
                    }

                    ad.Update(ad);
                    updateUI(new System.Action(() => grid("Update", ad.Id + " : successfully Updated..!", Color.Blue)));
                }
                catch { }

            }
            else
            {

                // ad.publisherUrl = new List<string> { publisherUrl };
                try
                {
                    //int index = Old.ad_details.FindIndex(a => a.advertiserUrl == ad.advertiserUrl[0]);
                    string ImagePath = ad.Id + "_" + 0 + "_" + 0 + ".jpg";//////////one
                    ImageDetails.Enqueue(ImagePath + "|" + ad.ad_details[0].Images[0].ImageUrl);
                   // if (NetworkFunctions.UploadImage(ImagePath, ad.ad_details[0].Images[0].ImageUrl))
                    {
                        ad.ad_details[0].Images[0].ServerUrl = ImagePath;
                        ad.ad_details[0].Images[0].IsServerUploaded = true;
                    }
                    ad.Insert(ad);
                    updateUI(new System.Action(() => grid("Insert", ad.Id + " : successfully Saved..!", Color.HotPink)));
                }
                catch { }

            }
        }