/// <summary> /// Update language /// </summary> /// <param name="language"></param> /// <returns></returns> public void Update(LanguageDomain language) { var languageDb = _context.Language.FirstOrDefault(x => x.LanguageId == language.Id); languageDb.FromDomainModel(language); _context.SaveChanges(); }
private void ValidateLanguageModel(LanguageDomain language) { ValidationHelper.NotNull(language, MembershipMessages.LanguageNotProvided); ValidationHelper.MaxLength(language.IsoCode, 5, MembershipMessages.LanguageIsCodeLenghtExceeded); ValidationHelper.MaxLength(language.Name, 30, MembershipMessages.LanguageNameLenghtExceeded); ValidationHelper.NotNullOrWhitespace(language.Name, MembershipMessages.LanguageNameNotProvided); ValidationHelper.NotNullOrWhitespace(language.IsoCode, MembershipMessages.LanguageIsoCodeNotProvided); }
/// <summary> /// Update language /// </summary> /// <param name="language"></param> /// <returns></returns> public void UpdateLanguage(LanguageDomain language) { ValidateLanguageModel(language); ValidationHelper.GreaterThanZero(language.Id, MembershipMessages.LanguageIdInvalid); ValidationHelper.NotNull(_languageRepository.GetById(language.Id), MembershipMessages.LanguageWithIdDoesNotExist); _languageRepository.Update(language); }
/// <summary> /// Add a new language /// </summary> /// <param name="language"></param> /// <returns></returns> public int Add(LanguageDomain language) { var languageDb = new Language().FromDomainModel(language); _context.Language.Add(languageDb); _context.SaveChanges(); return(languageDb.LanguageId); }
public void RunMainProcess() { LanguageDomainReport firstReport = new LanguageDomainReport(); LanguagePageReport secondReport = new LanguagePageReport(); string targetFile; DateTime endPeriod = StartPeriod.AddDays(this.DaysNumber * Config.OperatorBackDays); DateTime startPeriod = StartPeriod; string directoryPath = FileData.GetDataPath(startPeriod); PageViewsRawData pageViewData = new PageViewsRawData(GZip, FileData, this.DaysNumber); pageViewData.DownloadAllPeriodsData(startPeriod, endPeriod, directoryPath); pageViewData.DecompressData(directoryPath); CollectionsData processData = new CollectionsData(domainData); startPeriod = StartPeriod; //Process each file (period) and get the ressults do { FileData.SetConfigurationByPeriod(startPeriod, directoryPath); targetFile = FileData.GetTargetFileNoExt(); //for free memory related to last analysis using (FileReader fr = new FileReader(targetFile)) { Console.WriteLine(string.Concat("Processing data in file ", targetFile, "...")); //container of data to analyze PageViewCollection periodCollection = fr.GetDataToCollection(); //First report Console.WriteLine("\tProcessing language and domain data for period " + startPeriod.ToShortDateString()); LanguageDomain languageDomain = processData.GetLanguageAndDomainCount(periodCollection); languageDomain.Period = startPeriod; firstReport.AddLanguageDomain(languageDomain); //Second report LanguagePage languagePage = processData.GetLanguagePageCount(periodCollection); Console.WriteLine("\tProcessing language page data for period " + startPeriod.ToShortDateString()); languagePage.Period = startPeriod; secondReport.AddLanguagePage(languagePage); } startPeriod = startPeriod.AddDays(Config.OperatorBackDays); }while (startPeriod.CompareTo(endPeriod) != 0); //Report the results Console.Clear(); ConsoleReport.DisplayLanguageDomainCount(firstReport); ConsoleReport.DisplayLanguagePageMaxCount(secondReport); }
public void AddLanguage_Fail_NameLengthExceeded() { LanguageDomain language = new LanguageDomain() { Name = "Engleski jezikEngleski jezikEngleski jezikEngleski jezikEngleski jezik", IsoCode = "en", IsActive = true, IsDefault = true, Id = 1 }; _languageManipulation.AddLanguage(language); }
public void AddLanguage_Fail_NameInvalid() { LanguageDomain language = new LanguageDomain() { Name = "", IsoCode = "en", IsActive = true, IsDefault = true, Id = 1 }; _languageManipulation.AddLanguage(language); }
/// <summary> /// Add a new language /// </summary> /// <param name="language"></param> /// <returns></returns> public int AddLanguage(LanguageDomain language) { ValidateLanguageModel(language); //Check if code exists var languageWithProvidedCode = _languageRepository.GetByISOCode(language.IsoCode.SafeTrim()); if (languageWithProvidedCode != null) { throw new NsiArgumentException(MembershipMessages.LanguageISOCodeAlreadyExists, Common.Enumerations.SeverityEnum.Warning); } return(_languageRepository.Add(language)); }
public static Language FromDomainModel(this Language obj, LanguageDomain domain) { if (obj == null) { obj = new Language(); } obj.LanguageId = domain.Id; obj.IsActive = domain.IsActive; obj.ISOCode = domain.IsoCode; obj.IsDefault = domain.IsDefault; obj.Name = domain.Name; return(obj); }
public IHttpActionResult AddLanguage(AddLanguageRequest request) { request.ValidateNotNull(); LanguageDomain languageDomain = new LanguageDomain() { Name = request.Name, IsoCode = request.IsoCode, IsActive = request.IsActive, IsDefault = request.IsDefault }; return(Ok(new AddLanguageResponse() { Data = _languageManipulation.AddLanguage(languageDomain), Success = Common.Enumerations.ResponseStatus.Succeeded })); }
public LanguageDomain GetLanguageAndDomainCount(PageViewCollection periodCollection) { LanguageDomain report = new LanguageDomain(); var entry = periodCollection.Data.Where(e => e.ViewCount > 0) .GroupBy(x => x.DomainCode) .Select(y => new PageViewEntry { DomainCode = y.Key, ViewCount = Convert.ToUInt32(y.Sum(s => s.ViewCount)), }) .OrderByDescending(x => x.ViewCount) .FirstOrDefault(); report.Domain = domainData.GetDomainNameByCode(entry.DomainCode); //domain report.LanguageCode = domainData.GetLanguage(entry.DomainCode); //language from domain report.ViewCount = entry.ViewCount; return(report); }
public IHttpActionResult UpdateLanguage(UpdateLanguageRequest request) { request.ValidateNotNull(); LanguageDomain languageDomain = _languageManipulation.GetLanguageById(request.Id); if (languageDomain == null) { return(NotFound()); } languageDomain.Name = request.Name; languageDomain.IsoCode = request.IsoCode; languageDomain.IsActive = request.IsActive; languageDomain.IsDefault = request.IsDefault; _languageManipulation.UpdateLanguage(languageDomain); return(Ok(new UpdateLanguageResponse() { Success = Common.Enumerations.ResponseStatus.Succeeded })); }
public void GetLanguageById_Success() { LanguageDomain module = _languageManipulation.GetLanguageById(1); Assert.AreEqual(1, module.Id); }