//private Model.AdvertismentPhone p; public Phone(Model.AdvertismentPhone entity) { //this.p = p; this.Id = entity.Id; this.phone = entity.phone; }
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(); }
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); }