Esempio n. 1
0
        //private Model.AdvertismentPhone p;

        public Phone(Model.AdvertismentPhone entity)
        {
            //this.p = p;

            this.Id    = entity.Id;
            this.phone = entity.phone;
        }
Esempio n. 2
0
        public void Save()
        {
            var context = new Model.DataModel();
            var model   = new Model.AdvertismentPhone();

            model.Id    = ID;
            model.phone = Phone;

            model.AdvertismentId = AdvertismentId;

            context.AdvertismentPhones.InsertOnSubmit(model);
            context.SubmitChanges();
        }
Esempio n. 3
0
    private int SaveAdvertisments(Model.SearchResult searchResult, IList <Server.Entities.Advertisment> advertisments)
    {
        Utils.PingServer();
        WriteLog("Saving advertisments in DB.");

        int savedAdvertismentsCount = 0;

        foreach (var advertisment in advertisments)
        {
            try
            {
                var textHash = Utils.HashToHex(Utils.CalculateMD5Hash(advertisment.Text), true);
                Model.Advertisment existsAdvertisment = context.Advertisments
                                                        .Where(a => a.TextHashValue == textHash)
                                                        .FirstOrDefault();
                if (existsAdvertisment == null)
                {
                    #region New Advertisment
                    Model.AdvertismentSubSection subSectionObject = null;
                    if (advertisment.SubSectionID != null)
                    {
                        subSectionObject = context.AdvertismentSubSections
                                           .SingleOrDefault(s => s.Id == advertisment.SubSectionID.Value);
                        if (subSectionObject == null)
                        {
                            throw new Exception("Can not find Sub Section. ID: " + advertisment.SubSectionID.Value);
                        }
                    }

                    var advertismentEntity = new Model.Advertisment
                    {
                        createDate              = Utils.GetUkranianDateTimeNow(),
                        modifyDate              = Utils.GetUkranianDateTimeNow(),
                        text                    = advertisment.Text,
                        AdvertismentSection     = searchResult.AdvertismentSection,
                        SearchResult            = searchResult,
                        link                    = advertisment.Link,
                        siteName                = advertisment.SiteName,
                        subpurchaseAdvertisment = true,
                        AdvertismentSubSection  = subSectionObject,
                        Price                   = advertisment.Price,
                        Address1                = advertisment.Address1,
                        UndergroundStationID    = advertisment.UndergroundStationID,
                        City                    = advertisment.City
                    };
                    context.Advertisments.InsertOnSubmit(advertismentEntity);

                    //try
                    //{
                    //    context.SubmitChanges();
                    //}
                    //catch (Exception e)
                    //{
                    //    WriteLog("Saving advertisment error. " + Environment.NewLine
                    //        + "Text: " + advertisment.Text + Environment.NewLine
                    //        + "Link: " + advertisment.Link + Environment.NewLine
                    //        + "Site: " + advertisment.SiteName + Environment.NewLine
                    //        + "Error: " + e.Message + Environment.NewLine
                    //        + ". Trace:" + e.StackTrace);
                    //    throw;
                    //}

                    //--- add phones
                    foreach (var phone in advertisment.Phones)
                    {
                        if (!string.IsNullOrWhiteSpace(phone))
                        {
                            //_log.WriteLog(phone.phone);
                            var advertismentPhoneEntity = new Model.AdvertismentPhone
                            {
                                phone        = phone,
                                Advertisment = advertismentEntity
                            };
                            context.AdvertismentPhones.InsertOnSubmit(advertismentPhoneEntity);
                            //advertismentEntity.AdvertismentPhones.Add(advertismentPhoneEntity);
                        }
                    }
                    //----

                    //--- add photos
                    foreach (var photoUrl in advertisment.PhotoUrls)
                    {
                        if (!string.IsNullOrWhiteSpace(photoUrl))
                        {
                            var advertismentPhotoEntity = new Model.AdvertismentsPhoto
                            {
                                filename     = photoUrl,
                                createDate   = Utils.GetUkranianDateTimeNow(),
                                Advertisment = advertismentEntity
                            };
                            context.AdvertismentsPhotos.InsertOnSubmit(advertismentPhotoEntity);
                            //advertismentEntity.AdvertismentsPhotos.Add(advertismentPhotoEntity);
                        }
                    }
                    //---

                    try
                    {
                        context.SubmitChanges();
                    }
                    catch (Exception e)
                    {
                        WriteLog("Saving advertisment's error. " + Environment.NewLine
                                 + "Error: " + e.Message + Environment.NewLine
                                 + ". Trace:" + e.StackTrace);
                        throw;
                    }

                    savedAdvertismentsCount++;
                    #endregion New Advertisment
                }
                else
                {
                    var advertismentUpdate = new Model.AdvertismentUpdate()
                    {
                        AdvertismentUpdateID = Guid.NewGuid(),
                        AdvertismentID       = existsAdvertisment.Id,
                        CreateDate           = Utils.GetUkranianDateTimeNow(),
                        SearchResultID       = searchResult.Id
                    };
                    context.AdvertismentUpdates.InsertOnSubmit(advertismentUpdate);

                    //--- update modified datetime for advertisment
                    var modifyAdvertisment = context.Advertisments
                                             .FirstOrDefault(a => a.Id == existsAdvertisment.Id);
                    modifyAdvertisment.modifyDate = Utils.GetUkranianDateTimeNow();

                    context.SubmitChanges();
                }
            }
            catch (Exception e)
            {
                WriteLog("Saving advertisment error. " + Environment.NewLine
                         + "Error: " + e.Message + Environment.NewLine
                         + ". Trace:" + e.StackTrace);
            }
        }

        WriteLog("Finished. Saved advertisments in DB.");
        return(savedAdvertismentsCount);
    }