public void RequestParamsAreCompleteAndOK() { var repositories = CreateMocks(); ///zmienna przechowująca poprzednio pobrany obiekt AdFile previousMultimediaObject = null; ///zmienna przechowująca poprzednio wygenerowaną statystykę StatisticsEntry previousStatisticsEntry = null; ///request dla metody wyszukującej obiekt multimedialny var request = CreateRequest(); var itemCount = 4; for (var i = 0; i < itemCount; i++) { CheckMethods(repositories, ref previousMultimediaObject, ref previousStatisticsEntry, request); } }
public void RequestParamIsIncomplete() { ///przypadek, kiedy w obiekcie requesta są wypełnione tylko niezbędne pola var request = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams(); //request.CategoryCodes = new string[] { "MED", "MTR" }; //request.Width = 250; //request.Height = 250; //request.SessionId = Guid.NewGuid().ToString(); var repositories = CreateMocks(); ///zmienna przechowująca poprzednio pobrany obiekt AdFile previousMultimediaObject = null; ///zmienna przechowująca poprzednio wygenerowaną statystykę StatisticsEntry previousStatisticsEntry = null; var mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories); var itemCount = 4; for (var i = 0; i < itemCount; i++) { CheckMethods(repositories, ref previousMultimediaObject, ref previousStatisticsEntry, request); } }
/// <summary> /// Zapisuje w statystykach informacje o requeście klienta i o wysłanym do niego w odpowiedzi obiekcie multimedialnym. /// </summary> /// <param name="selectionParams">Parametry opisujące request, na podstawie których został wybrany odpowiedni obiekt multimedialny</param> /// <param name="multimediaObject">Wybrany obiekt multimedialny (który zostanie zwrócony klientowi jako odpowiedź na jego request)</param> /// <param name="statisticsEntry">Wpis statystyk</param> public void SaveStatisticsEntry(MultimediaObjectsSelectionParams selectionParams, AdFile multimediaObject, StatisticsEntry statisticsEntry) { if (selectionParams == null || multimediaObject == null) { return; } if (statisticsEntry == null) { throw new Exception("Nie udało się zapisać do statystyk informacji o requeście, ponieważ nie powiodło się generowanie takiego obiektu."); } try { var host = _repositories.UserRepository.Users.First(it => it.Devices.Any(dev => dev.Id == selectionParams.ID)); var cmpid = multimediaObject.CmpId; var campUp = _repositories.CampaignRepository.Campaigns.First(it => it.Id == cmpid); var cmpUserId = campUp.UserId; var user = _repositories.UserRepository.Users.First(it => it.Id == cmpUserId); if (user.Role.RoleType != "Admin") { campUp.AdPoints -= statisticsEntry.Statistics.Clicked ? campUp.ClickValue : campUp.ViewValue; _repositories.CampaignRepository.SaveCampaign(campUp, true); } host.AdPoints += (statisticsEntry.Statistics.Clicked ? campUp.ClickValue : campUp.ViewValue) * host.Role.Commission * (decimal)0.01; _repositories.UserRepository.Save(host); } catch (Exception) { throw new Exception("Nie udało się wykonć zmian AdPoints'ów"); } var response = _repositories.StatisticsRepository.Save(statisticsEntry); if (response.Accepted) { return; } var fullMessage = new List <string>(); if (response.Errors != null && response.Errors.Count > 0) { fullMessage.AddRange(response.Errors.Select(e => e.Message)); } var thrownError = "Nie udało się zapisać do statystyk informacji o requeście. Nie można przesłać obiektu multimedialnego."; if (fullMessage.Count <= 0) { throw new Exception(thrownError); } thrownError += (Environment.NewLine + Environment.NewLine) + string.Join(Environment.NewLine, fullMessage); fullMessage.Clear(); throw new Exception(thrownError); }
private void CheckMethods(RepositorySet repositories, ref AdFile previousMultimediaObject, ref StatisticsEntry previousStatisticsEntry, ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection.MultimediaObjectsSelectionParams request) { var now = DateTime.Now; var mos = new ADEngineMultimediaSelectionAlgorythm.MultimediaObjectSelection(repositories); List <string> validationErrors = null; ///wyszukanie i pobranie obiektu do wyświetlenia var mo1 = mos.FindMultimediaObject(request, FILESTREAM_OPTION, out validationErrors); ///pobranie wygenerowanej statystyki var se1 = mos.CreateStatisticsEntry(request, mo1); ///zapis statystyki do "bazy" //MockData.Statistics.Add(se1.Statistics); repositories = CreateMocks(); if (fetchedFiles == null) { fetchedFiles = new List <AdFile>(); } ///zapamietujemy otrzymany obiekt fetchedFiles.Add(mo1); ///czy obiekt nie jest nullem Assert.IsNotNull(mo1); Assert.IsNotNull(se1); if (mo1 != null && se1 != null) { ///czy zgadza się rozmiar //Assert.AreEqual(request.Width, mo1.Width); //Assert.AreEqual(request.Height, mo1.Height); ///czy zgadza się nośnik //Assert.AreEqual(request.Referrer, se1.Statistics.Referrer); ///czy kampanie i kategorie nie są nullem Assert.IsNotNull(se1.SelectedMultimediaObjectCampaigns); Assert.IsNotNull(se1.Categories); ///czy obiekt jest różny od poprzednio pobranego obiektu if (previousMultimediaObject != null) { Assert.AreNotEqual(mo1.ID, previousMultimediaObject.ID); } if (se1.SelectedMultimediaObjectCampaigns != null) { foreach (var c in se1.SelectedMultimediaObjectCampaigns) { Assert.IsTrue(c.IsActiveCampaign); Assert.IsTrue(c.CampaignStartDate <= now); Assert.IsTrue(c.CampaignEndDate >= now); } } if (se1.Categories != null) { //if (request.CategoryCodes.Length <= se1.Categories.Count) //{ // for (var i = 0; i < request.CategoryCodes.Length; i++) // { // Assert.IsTrue(se1.Categories.ContainsKey(request.CategoryCodes[i])); // } //} //else //{ // foreach (var c in se1.Categories) // { // Assert.IsTrue(request.CategoryCodes.ToList().Contains(c.Key)); // } //} } if (firstObject == null) { firstObject = mo1; } else { var previousStatus = previousStatisticsEntry.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode); var currentStatus = se1.SelectedMultimediaObjectCampaigns.Max(x => x.PriorityCode); if (mo1.ID != firstObject.ID) { Assert.IsTrue(previousStatus >= currentStatus); } } previousMultimediaObject = mo1; previousStatisticsEntry = se1; } }
/// <summary> /// Tworzy zestaw informacji niezbędnych do odnotowania w statystykach informacji o requeście klienta i o wysłanym do niego w odpowiedzi obiekcie multimedialnym. /// </summary> /// <param name="selectionParams">Parametry opisujące request, na podstawie których został wybrany odpowiedni obiekt multimedialny</param> /// <param name="multimediaObject">Wybrany obiekt multimedialny (który zostanie zwrócony klientowi jako odpowiedź na jego request)</param> /// <param name="clicked">Stat wpisu - przekierowanie / wyswietlenie</param> public StatisticsEntry CreateStatisticsEntry(MultimediaObjectsSelectionParams selectionParams, AdFile multimediaObject, bool clicked = false) { if (selectionParams == null || multimediaObject == null) { return(null); } var result = new StatisticsEntry(); var userId = _repositories.DeviceRepository.Devices.Single(it => it.Id == selectionParams.ID).UserId; var statistics = new Statistic { DeviceId = selectionParams.ID, UserId = userId, RequestDate = selectionParams.RequestDate, ResponseDate = DateTime.Now, SessionId = selectionParams.SessionId, Data1 = selectionParams.Data0, Data2 = selectionParams.Data1, Data3 = selectionParams.Data2, Data4 = selectionParams.Data3, MultimediaObjectId = multimediaObject.ID, RequestSource = selectionParams.RequestSource, CampaignId = multimediaObject.CmpId, RequestIP = selectionParams.RequestIP }; result.Statistics = statistics; var now = DateTime.Now; // szukamy kampanii, do których należy obiekt multimedialny var mmObject = _repositories.MultimediaObjectRepository.MultimediaObjects.Single(it => it.Id == multimediaObject.ID); var cmps = mmObject.Campaigns.Select(it => new SelectedMultimediaObjectCampaign { CampaignId = it.Id, IsActiveCampaign = it.IsActive, PriorityCode = it.Priority.Code, CampaignStartDate = it.StartDate, CampaignEndDate = it.EndDate }); var campaignsId = cmps.Select(it => it.CampaignId); // bierzemy tylko te kategorie, do których należą wybrane kampanie var categories = mmObject.Campaigns .SelectMany(it => it.Categories) .Distinct(); result.Categories = categories.Select(it => new { it.Code, it.Id }).ToDictionary(it => it.Code, it => it.Id); var cmp = mmObject.Campaigns.FirstOrDefault(); if (cmp != null) { result.Statistics.AdPoints = clicked ? cmp.ClickValue : cmp.ViewValue; } result.Statistics.Clicked = clicked; return(result); }
/// <summary> /// Wyszukuje obiekt multimedialny, który zostanie wysłany do klienta w odpowiedzi na jego request /// </summary> /// <param name="selectionParams">Parametry obiektu</param> /// <param name="filestream">Określa czy pliki mają być pobierane z FILESTREAM</param> /// <param name="validationErrors">lista błędów</param> /// <returns>Obiekt multimedialny do wyświetlenia w kliencie</returns> public AdFile FindMultimediaObject(MultimediaObjectsSelectionParams selectionParams, bool filestream, out List <string> validationErrors) { if (!RequestParamsAreValid(selectionParams, out validationErrors)) { return(null); } AdFile resultFile = null; var requestFromNewSession = !_repositories.StatisticsRepository.Statistics.Any(s => s.SessionId == selectionParams.SessionId); // == 0; // wyszukujemy obiekty, które zostały ostatnio pobrane przez ten sam nośnik w ramach jednej sesji IQueryable <int> previousObjectId = null; var alreadyFetchedObjects = from s in _repositories.StatisticsRepository.Statistics join moc in _repositories.CampaignRepository.Campaigns.SelectMany(it => it.MultimediaObjects) on s.MultimediaObjectId equals moc.Id where s.DeviceId == selectionParams.ID orderby s.ResponseDate descending select new { sessionID = s.SessionId, multimediaObjectID = s.MultimediaObjectId }; if (!requestFromNewSession) { // pobieramy idyntyfikatory wszystkich obiektów multimedialnych pobranych w ramach tej samej sesji alreadyFetchedObjects = from s in alreadyFetchedObjects where s.sessionID == selectionParams.SessionId select s; previousObjectId = from s in alreadyFetchedObjects select s.multimediaObjectID; } var now = DateTime.Now.Date; // wyszukujemy obiekty multimedialne spełniające kryteria określone w parametrach metody var dev = _repositories.DeviceRepository.Devices .SingleOrDefault(it => it.Id == selectionParams.ID); //var dev = _repositories.DeviceRepository.Devices.FirstOrDefault(m => m.Id == selectionParams.ID); if (dev == null) { return(null); } var objPCmp = dev.Campaigns.Select(it => new MMCmp { cmp = it, muliMultimediaObjects = it.MultimediaObjects }); ICollection <ExtMM> obj = new Collection <ExtMM>(); foreach (var a in objPCmp.SelectMany(it => it.muliMultimediaObjects.Select(o => new ExtMM { Campaigns = o.Campaigns, cmp = it.cmp, Contents = o.Contents, FileName = o.FileName, Id = o.Id, Url = o.Url, Type = o.Type, Name = o.Name, Thumbnail = o.Thumbnail, Statistics = o.Statistics, TypeId = o.TypeId, User = o.User, MimeType = o.MimeType, UserId = o.UserId })) .Where(a => (dev.Categories.Count() != dev.Categories.Except(a.cmp.Categories).Count() || dev.Categories.Count == 0) && a.cmp.IsActive && a.cmp.StartDate <= now && a.cmp.EndDate >= now && a.cmp.AdPoints > 0 && a.TypeId == dev.TypeId)) { obj.Add(a); } if (!obj.Any()) { foreach (var a in _repositories.CampaignRepository.Campaigns.SelectMany(it => it.MultimediaObjects.Select(o => new ExtMM { Campaigns = o.Campaigns, cmp = it, Contents = o.Contents, FileName = o.FileName, Id = o.Id, Url = o.Url, Type = o.Type, Name = o.Name, Thumbnail = o.Thumbnail, Statistics = o.Statistics, TypeId = o.TypeId, User = o.User, MimeType = o.MimeType, UserId = o.UserId })).Where(a => (dev.Categories.Count() != dev.Categories.Except(a.cmp.Categories).Count() || dev.Categories.Count == 0) && dev.TypeId == a.TypeId)) { obj.Add(a); } } var availableObjects = ( from m in obj select new { multimediObject = m, priorityCode = m.cmp.Priority.Code, width = m.Type.Width, height = m.Type.Height, cmpId = m.cmp.Id }); var availableObjectsId = (from mo in availableObjects select mo.multimediObject.Id).Distinct(); if (requestFromNewSession) { availableObjects = (from s in availableObjects select s).Distinct().OrderByDescending(x => x.priorityCode); } else { if (NotFetchedObjectsExist(previousObjectId, availableObjectsId)) { // jeszcze nie wszystkie obiekty zostaly pobrane, wybieramy tego, ktory nie byl jeszcze pobrany availableObjects = (from s in availableObjects where !previousObjectId.Contains(s.multimediObject.Id) select s).Distinct().OrderByDescending(x => x.priorityCode); } else if (previousObjectId.Any()) { // wszystkie mozliwe do pobrania obiekty zostały już pobrane, więc rozpoczynamy pobieranie od nowa // sprawdzamy, który z dotychczas pobranych obiektów nie są już dostępne do ponownego pobrania var excluded = ExcludedObjects(previousObjectId.ToList(), availableObjectsId.ToList()); // pogrupuj wszystkie pobrane dotychczas (i możliwe do ponownego pobrania) obiekty wg ilości pobrań var previousIdFiltered = previousObjectId.ToList().Where(x => !excluded.Contains(x)); var groupedByCount = previousIdFiltered.GroupBy(x => x) .Select(group => new { Id = group.Key, Count = group.Count() }) .OrderBy(x => x.Count); // bierzemy ten, który był pobrany najwięcej razy var max = groupedByCount.LastOrDefault().Count; // bierzyemy te, które były pobrane mniej razy var a = groupedByCount.Where(x => x.Count < max); if (!a.Any() || (a.Count() == 1 && a.FirstOrDefault().Id == previousIdFiltered.FirstOrDefault())) { // jeśli wszystkie byly pobrane tyle samo razy, to znaczy, że rozpoczynamy nową // rundę pobierania obiektów od początku a = groupedByCount; } var previousObject = (from n in a join m in availableObjects on n.Id equals m.multimediObject.Id where n.Id == previousIdFiltered.FirstOrDefault() orderby n.Count orderby m.priorityCode descending orderby m.multimediObject.Id select m).Distinct(); // jesli w międzyczasie doszły nowe obiekty to najpierw je wyświetlamy, a kiedy ich ilość wyświetleń będzie // taka sama jak dotychczas wyświetlanych obiektów, to w sortujemy od najwyższego do najniższego priorytetu availableObjects = (from n in a join m in availableObjects on n.Id equals m.multimediObject.Id where n.Id != previousIdFiltered.FirstOrDefault() orderby n.Count orderby m.priorityCode descending orderby m.multimediObject.Id select m).Distinct(); var fetchedCount = alreadyFetchedObjects.Count(); if (!availableObjects.Any() && fetchedCount > 0) { availableObjects = previousObject; } } } if (availableObjects.Any()) { var result = availableObjects.FirstOrDefault(); if (result != null) { resultFile = new AdFile { Name = result.multimediObject.Name, MimeType = result.multimediObject.MimeType, ID = result.multimediObject.Id, Width = result.width, Height = result.height, StatusCode = result.priorityCode, URL = result.multimediObject.Url, CmpId = result.multimediObject.cmp.Id }; } } return(resultFile); }
/// <summary> /// Zapisuje w statystykach informacje o requeście klienta /// </summary> /// <param name="selectionParams">Parametry opisujące request, na podstawie których został wybrany odpowiedni obiekt multimedialny</param> /// <param name="multimediaObject">Wybrany obiekt multimedialny (który zostanie zwrócony klientowi jako odpowiedź na jego request)</param> /// <param name="cliecked">Przekierowanie</param> public void SaveStatisticsEntry(MultimediaObjectsSelectionParams selectionParams, AdFile multimediaObject, bool cliecked = false) { var s = CreateStatisticsEntry(selectionParams, multimediaObject, cliecked); SaveStatisticsEntry(selectionParams, multimediaObject, s); }
public ActionResult Index(string data0, string data1, string data2, string data3, int Id, string viewId) { var errors = new List <string>(); var nameCookie = "AdServer" + viewId; try { var selectionRequest = new MultimediaObjectSelection.MultimediaObjectsSelectionParams { ID = Id, Data0 = data0, Data1 = data1, Data2 = data2, Data3 = data3, RequestDate = DateTime.Now, RequestSource = (int)Statistic.RequestSourceType.WWW }; var ips = Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; selectionRequest.RequestIP = !string.IsNullOrEmpty(ips) ? ips.Split(',')[0] : Request.ServerVariables["REMOTE_ADDR"]; var sessionId = Request.Cookies.Get(nameCookie) == null?Guid.NewGuid().ToString() : Request.Cookies[nameCookie]["sessionId"]; selectionRequest.SessionId = sessionId; var cookie = new HttpCookie(nameCookie); cookie.Values.Add("sessionId", sessionId); using (var ctx = new AdServContext()) { var repositories = EFRepositorySet.CreateRepositorySet(ctx); try { var mos = new MultimediaObjectSelection(repositories); List <string> err = new List <string>(); const string key = "FILESTREAM_OPTION"; var urlKey = ConfigurationManager.AppSettings[key]; bool filestreamOption = false; if (urlKey != null && !string.IsNullOrEmpty(urlKey)) { bool.TryParse(urlKey, out filestreamOption); } bool add = true; if (Request.UrlReferrer != null) { if (Request.Url.Host == Request.UrlReferrer.Host) { add = false; } } AdFile response = mos.GetMultimediaObject(selectionRequest, filestreamOption, add, out err); cookie.Values.Add("cmp", response.CmpId.ToString()); if (err != null && err.Count > 0) { errors.AddRange(err); } else { cookie.Values.Add("Id", response.ID.ToString()); cookie.Values.Add("StatusCode", response.StatusCode.ToString()); Response.AppendCookie(cookie); return(File(response.Contents, response.MimeType)); } } catch (Exception ex) { var hierarchy = new List <Exception>(); ExceptionsHandlingHelper.HierarchizeError(ex, ref hierarchy); if (hierarchy.Count > 0) { errors.AddRange(hierarchy.Select(s => s.Message + Environment.NewLine + s.StackTrace).Distinct().AsEnumerable()); } SaveErrorInLogFile(selectionRequest, ex); } } } catch (Exception ex) { var hierarchy = new List <Exception>(); ExceptionsHandlingHelper.HierarchizeError(ex, ref hierarchy); if (hierarchy.Count > 0) { errors.AddRange(hierarchy.Select(s => s.Message + Environment.NewLine + s.StackTrace).Distinct().AsEnumerable()); } SaveErrorInLogFile(ex); } return(null); }
public static List <AdFile> ModelAdFile(List <String> strList) { List <AdFile> listAdFile = new List <AdFile>(); Boolean isFullModel = false; AdFile adFile = new AdFile(); Int32 lastElem = strList.Count; #region adFile for (int i = 0; i <= strList.Count; i++) { if (lastElem == 0) { listAdFile.Add(adFile); break; } if (isFullModel) { listAdFile.Add(adFile); adFile = new AdFile(); isFullModel = false; } if (adFile.AdFileId == null) { //if (i > strList.Count) continue; String temp = strList[i]; if (String.IsNullOrEmpty(temp)) { lastElem--; continue; } adFile.AdFileId = strList[i]; lastElem--; continue; } if (adFile.AgencyId == null) { adFile.AgencyId = strList[i]; lastElem--; continue; } if (adFile.TypeOfOwnership == null) { adFile.TypeOfOwnership = strList[i]; lastElem--; continue; } if (adFile.PostalCode == null) { adFile.PostalCode = strList[i]; lastElem--; continue; } if (adFile.City == null) { adFile.City = strList[i]; lastElem--; continue; } if (adFile.Title == null) { adFile.Title = strList[i]; lastElem--; continue; } if (adFile.Price == null) { adFile.Price = strList[i]; lastElem--; continue; } if (adFile.LivingArea == null) { adFile.LivingArea = strList[i]; lastElem--; continue; } if (adFile.NumberOfRooms == null) { adFile.NumberOfRooms = strList[i]; lastElem--; continue; } if (adFile.NumberOfChamber == null) { adFile.NumberOfChamber = strList[i]; lastElem--; continue; } if (adFile.ShortAdvertisement == null) { adFile.ShortAdvertisement = strList[i]; lastElem--; continue; } if (adFile.Photo1 == null) { adFile.Photo1 = strList[i]; lastElem--; continue; } if (adFile.Photo2 == null) { adFile.Photo2 = strList[i]; lastElem--; continue; } if (adFile.Photo3 == null) { adFile.Photo3 = strList[i]; lastElem--; continue; } if (adFile.Photo4 == null) { adFile.Photo4 = strList[i]; lastElem--; continue; } if (adFile.Photo5 == null) { adFile.Photo5 = strList[i]; lastElem--; continue; } if (adFile.TypeOfMandate == null) { adFile.TypeOfMandate = strList[i]; lastElem--; continue; } if (adFile.GIEId == null) { adFile.GIEId = strList[i]; lastElem--; continue; } if (adFile.Square == null) { adFile.Square = strList[i]; lastElem--; continue; } if (adFile.NumberOfMandate == null) { adFile.NumberOfMandate = strList[i]; lastElem--; continue; } if (adFile.LandType == null) { adFile.LandType = strList[i]; lastElem--; continue; } if (adFile.VirtualPartnersURL == null) { adFile.VirtualPartnersURL = strList[i]; lastElem--; continue; } if (adFile.BuildType == null) { adFile.BuildType = strList[i]; lastElem--; continue; } if (adFile.AmountOfCommissionTTC == null) { adFile.AmountOfCommissionTTC = strList[i]; lastElem--; continue; } if (adFile.RentTTC == null) { adFile.RentTTC = strList[i]; lastElem--; continue; } if (adFile.AdvertisingInEnglish == null) { adFile.AdvertisingInEnglish = strList[i]; lastElem--; continue; } if (adFile.AdvertisingInFrench == null) { adFile.AdvertisingInFrench = strList[i]; lastElem--; continue; } if (adFile.InsuranceDeposit == null) { adFile.InsuranceDeposit = strList[i]; lastElem--; continue; } if (adFile.Rent == null) { adFile.Rent = strList[i]; lastElem--; continue; } if (adFile.AreaSurface == null) { adFile.AreaSurface = strList[i]; lastElem--; continue; } if (adFile.AdvertisingPoster == null) { adFile.AdvertisingPoster = strList[i]; lastElem--; continue; } if (adFile.GeneralAvailabilityOfHousing == null) { adFile.GeneralAvailabilityOfHousing = strList[i]; lastElem--; continue; } if (adFile.NumberOfFloor == null) { adFile.NumberOfFloor = strList[i]; lastElem--; continue; } if (adFile.TypeOfBuilding == null) { adFile.TypeOfBuilding = strList[i]; lastElem--; continue; } if (adFile.Null1 == null) { adFile.Null1 = strList[i]; lastElem--; continue; } if (adFile.Null2 == null) { adFile.Null2 = strList[i]; lastElem--; continue; } if (adFile.Null3 == null) { adFile.Null3 = strList[i]; lastElem--; continue; } if (adFile.Null4 == null) { adFile.Null4 = strList[i]; lastElem--; continue; } if (adFile.Null5 == null) { adFile.Null5 = strList[i]; lastElem--; continue; } if (adFile.Photo6 == null) { adFile.Photo6 = strList[i]; lastElem--; continue; } if (adFile.Photo7 == null) { adFile.Photo7 = strList[i]; lastElem--; continue; } if (adFile.Photo8 == null) { adFile.Photo8 = strList[i]; lastElem--; continue; } if (adFile.Photo9 == null) { adFile.Photo9 = strList[i]; lastElem--; continue; } if (adFile.Photo10 == null) { adFile.Photo10 = strList[i]; lastElem--; continue; } if (adFile.Photo11 == null) { adFile.Photo11 = strList[i]; lastElem--; continue; } if (adFile.Photo12 == null) { adFile.Photo12 = strList[i]; lastElem--; continue; } if (adFile.Photo13 == null) { adFile.Photo13 = strList[i]; lastElem--; continue; } if (adFile.Photo14 == null) { adFile.Photo14 = strList[i]; lastElem--; continue; } if (adFile.Photo15 == null) { adFile.Photo15 = strList[i]; lastElem--; continue; } if (adFile.Photo16 == null) { adFile.Photo16 = strList[i]; lastElem--; continue; } if (adFile.Photo17 == null) { adFile.Photo17 = strList[i]; lastElem--; continue; } if (adFile.Photo18 == null) { adFile.Photo18 = strList[i]; lastElem--; continue; } if (adFile.Photo19 == null) { adFile.Photo19 = strList[i]; lastElem--; continue; } if (adFile.Photo20 == null) { adFile.Photo20 = strList[i]; lastElem--; continue; } if (adFile.RentOfFurniture == null) { adFile.RentOfFurniture = strList[i]; lastElem--; continue; } if (adFile.JointLease == null) { adFile.JointLease = strList[i]; lastElem--; continue; } if (adFile.AnnualFee == null) { adFile.AnnualFee = strList[i]; lastElem--; continue; } if (adFile.IndefiniteJointOwnership == null) { adFile.IndefiniteJointOwnership = strList[i]; lastElem--; continue; } if (adFile.Null100 == null) { adFile.Null100 = strList[i]; lastElem--; continue; } if (adFile.Null101 == null) { adFile.Null101 = strList[i]; lastElem--; continue; } if (adFile.Null102 == null) { adFile.Null102 = strList[i]; lastElem--; continue; } if (adFile.Null103 == null) { adFile.Null103 = strList[i]; lastElem--; continue; } if (adFile.Null104 == null) { adFile.Null104 = strList[i]; lastElem--; continue; } if (adFile.Null105 == null) { adFile.Null105 = strList[i]; lastElem--; continue; } if (adFile.Null106 == null) { adFile.Null106 = strList[i]; lastElem--; continue; } if (adFile.Null107 == null) { adFile.Null107 = strList[i]; lastElem--; continue; } if (adFile.Null108 == null) { adFile.Null108 = strList[i]; lastElem--; continue; } if (adFile.Null109 == null) { adFile.Null109 = strList[i]; lastElem--; continue; } if (adFile.Null110 == null) { adFile.Null110 = strList[i]; lastElem--; continue; } if (adFile.Null111 == null) { adFile.Null111 = strList[i]; lastElem--; continue; } if (adFile.Null112 == null) { adFile.Null112 = strList[i]; lastElem--; continue; } if (adFile.Null113 == null) { adFile.Null113 = strList[i]; lastElem--; continue; } if (adFile.Null114 == null) { adFile.Null114 = strList[i]; lastElem--; continue; } if (adFile.Null115 == null) { adFile.Null115 = strList[i]; lastElem--; continue; } if (adFile.Null116 == null) { adFile.Null116 = strList[i]; lastElem--; continue; } if (adFile.Null117 == null) { adFile.Null117 = strList[i]; lastElem--; continue; } if (adFile.Null118 == null) { adFile.Null118 = strList[i]; lastElem--; continue; } if (adFile.Null119 == null) { adFile.Null119 = strList[i]; lastElem--; continue; } if (adFile.Null120 == null) { adFile.Null120 = strList[i]; lastElem--; continue; } if (adFile.Null121 == null) { adFile.Null121 = strList[i]; lastElem--; continue; } if (adFile.Null122 == null) { adFile.Null122 = strList[i]; lastElem--; continue; } if (adFile.Null123 == null) { adFile.Null123 = strList[i]; lastElem--; continue; } if (adFile.Null124 == null) { adFile.Null124 = strList[i]; lastElem--; continue; } if (adFile.Null125 == null) { adFile.Null125 = strList[i]; lastElem--; continue; } if (adFile.Null126 == null) { adFile.Null126 = strList[i]; lastElem--; continue; } if (adFile.Null127 == null) { adFile.Null127 = strList[i]; isFullModel = true; lastElem--; continue; } } #endregion return(listAdFile); }