Пример #1
0
        public GeneralResponse EditSupportStatus(IEnumerable <EditSupportStatusRequest> requests, Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (var request in requests)
                {
                    SupportStatus supportStatus = _supportStatusRepository.FindBy(request.ID);
                    supportStatus.CreateEmployee       = _employeeRepository.FindBy(ModifiedEmployeeID);
                    supportStatus.CreateDate           = PersianDateTime.Now;
                    supportStatus.IsFirstSupportStatus = request.IsFirstSupportStatus;
                    supportStatus.IsLastSupportState   = request.IsLastSupportState;
                    supportStatus.SendEmailOnEnter     = request.SendEmailOnEnter;
                    supportStatus.EmailText            = request.EmailText;
                    supportStatus.SendSmsOnEnter       = request.SendSmsOnEnter;
                    supportStatus.SmsText           = request.SmsText;
                    supportStatus.SupportStatusName = request.SupportStatusName;

                    #region RowVersion - Validation

                    if (supportStatus.RowVersion != request.RowVersion)
                    {
                        response.ErrorMessages.Add("EditConcurrencyKey");
                        return(response);
                    }
                    else
                    {
                        supportStatus.RowVersion += 1;
                    }

                    if (supportStatus.GetBrokenRules().Count() > 0)
                    {
                        foreach (BusinessRule businessRule in supportStatus.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(businessRule.Rule);
                        }

                        return(response);
                    }

                    _supportStatusRepository.Save(supportStatus);
                    _uow.Commit();

                    #endregion
                    _supportStatusRepository.Save(supportStatus);
                }
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Пример #2
0
        public GeneralResponse DeleteSupportStatuses(IEnumerable <DeleteRequest> requests)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (DeleteRequest deleteRequest in requests)
                {
                    SupportStatus supportStatus = _supportStatusRepository.FindBy(deleteRequest.ID);
                    _supportStatusRepository.Remove(supportStatus);
                }

                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
        public GeneralResponse EditSupportStatusRelation(IEnumerable <EditSupportStatusRelationRequest> requests, Guid SupportStatusID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (EditSupportStatusRelationRequest request in requests)
                {
                    SupportStatusRelation supportStatusRelation = new SupportStatusRelation();

                    supportStatusRelation = _supportStatusRelationRepository.FindBy(request.ID);
                    SupportStatus supportStatus     = _supportStatusRepository.FindBy(SupportStatusID);
                    SupportStatus NextSupportStatus = _supportStatusRepository.FindBy(request.SupportStatusRelatedID);

                    supportStatusRelation.SupportStatus        = supportStatus;
                    supportStatusRelation.RelatedSupportStatus = NextSupportStatus;

                    _supportStatusRelationRepository.Add(supportStatusRelation);
                }

                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Пример #4
0
        public GeneralResponse AddSupportStatus(AddSupportStatusRequest request, Guid CreateEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SupportStatus supportStatus = new SupportStatus();

                supportStatus.ID                   = Guid.NewGuid();
                supportStatus.CreateEmployee       = _employeeRepository.FindBy(CreateEmployeeID);
                supportStatus.CreateDate           = PersianDateTime.Now;
                supportStatus.IsFirstSupportStatus = request.IsFirstSupportStatus;
                supportStatus.IsLastSupportState   = request.IsLastSupportState;
                supportStatus.SendEmailOnEnter     = request.SendEmailOnEnter;
                supportStatus.EmailText            = request.EmailText;
                supportStatus.SendSmsOnEnter       = request.SendSmsOnEnter;
                supportStatus.SmsText              = request.SmsText;
                supportStatus.SupportStatusName    = request.SupportStatusName;

                _supportStatusRepository.Add(supportStatus);
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Пример #5
0
        private void BtAdd_Click(object sender, RoutedEventArgs e)
        {
            string        Language = ((GameLanguage)PART_LocalizationSelection.SelectedItem).Name;
            SupportStatus Ui       = ((bool)PART_LocalizationUI.IsChecked) ? SupportStatus.Native : SupportStatus.NoNative;
            SupportStatus Audio    = ((bool)PART_LocalizationAudio.IsChecked) ? SupportStatus.Native : SupportStatus.NoNative;
            SupportStatus Sub      = ((bool)PART_LocalizationSub.IsChecked) ? SupportStatus.Native : SupportStatus.NoNative;

            Localization localization = new Localization
            {
                Language = Language,
                Ui       = Ui,
                Audio    = Audio,
                Sub      = Sub,
                Notes    = string.Empty,
                IsManual = true,
            };

            int index = _gameLocalizations.Items.FindIndex(x => x.Language == Language);

            if (index > -1)
            {
                _gameLocalizations.Items[index] = localization;
#if DEBUG
                logger.Debug($"CheckLocalizations [Ignored] - BtAdd_Click({index}) - {_game.Name} - _gameLocalizations: {JsonConvert.SerializeObject(_gameLocalizations)}");
#endif
            }
            else
            {
                _gameLocalizations.Items.Add(localization);
#if DEBUG
                logger.Debug($"CheckLocalizations [Ignored] - BtAdd_Click({index}) - {_game.Name} - _gameLocalizations: {JsonConvert.SerializeObject(_gameLocalizations)}");
#endif
            }

            _gameLocalizations.Items.Sort((x, y) => x.Language.CompareTo(y.Language));

            ListViewLanguages.ItemsSource = null;
            ListViewLanguages.ItemsSource = _gameLocalizations.Items.Where(x => x.IsManual).ToList();

            RefreshAvailable();
        }
Пример #6
0
        public GeneralResponse EditEmail(Guid SupportStatusID, string message, Guid ModifiedEployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                SupportStatus supportStatus = _supportStatusRepository.FindBy(SupportStatusID);

                supportStatus.EmailText        = message;
                supportStatus.ModifiedEmployee = _employeeRepository.FindBy(ModifiedEployeeID);

                _supportStatusRepository.Save(supportStatus);
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
            }

            return(response);
        }
Пример #7
0
        public GetGeneralResponse <SupportStatusView> GetAllSupportStatus(Guid supportStatusID)
        {
            GetGeneralResponse <SupportStatusView> response = new GetGeneralResponse <SupportStatusView>();

            try
            {
                SupportStatus supportStatus = _supportStatusRepository.FindBy(supportStatusID);

                response.data       = supportStatus.ConvertToSupportStatusView();
                response.totalCount = 1;
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
Пример #8
0
        private string GetImage(SupportStatus supportStatus)
        {
            string pluginFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            switch (supportStatus)
            {
            case SupportStatus.Hackable:
                return($"{pluginFolder}\\Resources\\hackable.png");

            case SupportStatus.Native:
                return($"{pluginFolder}\\Resources\\native.png");

            case SupportStatus.NoNative:
                return($"{pluginFolder}\\Resources\\nonative.png");

            case SupportStatus.NotApplicable:
                return($"{pluginFolder}\\Resources\\notapplicable.png");

            case SupportStatus.Unknown:
                return($"{pluginFolder}\\Resources\\unknown.png");
            }

            return(string.Empty);
        }
        private List <Localization> GetLocalizations(string url)
        {
            List <Localization> Localizations = new List <Localization>();

            try
            {
#if DEBUG
                logger.Debug($"CheckLocalizations [Ignored] - url {url}");
#endif

                // Get data & parse
                string        ResultWeb        = Web.DownloadStringData(url).GetAwaiter().GetResult();
                HtmlParser    parser           = new HtmlParser();
                IHtmlDocument HtmlLocalization = parser.Parse(ResultWeb);

                foreach (var row in HtmlLocalization.QuerySelectorAll("tr.table-l10n-body-row"))
                {
                    string        Language = Regex.Replace(row.QuerySelector("th").InnerHtml, "<.+?>(.*)<.+?>", "$1");
                    SupportStatus Ui       = SupportStatus.Unknown;
                    SupportStatus Audio    = SupportStatus.Unknown;
                    SupportStatus Sub      = SupportStatus.Unknown;
                    string        Notes    = string.Empty;

                    int i = 1;
                    foreach (var td in row.QuerySelectorAll("td"))
                    {
                        switch (i)
                        {
                        case 1:
                            Ui = GetSupportStatus(td.QuerySelector("div").GetAttribute("title"));
                            break;

                        case 2:
                            Audio = GetSupportStatus(td.QuerySelector("div").GetAttribute("title"));
                            break;

                        case 3:
                            Sub = GetSupportStatus(td.QuerySelector("div").GetAttribute("title"));
                            break;

                        case 4:
                            Notes = Regex.Replace(td.InnerHtml, "<.+?>(.*)<.+?>", "$1");
                            break;
                        }
                        i++;
                    }


                    Notes = Regex.Replace(Notes, "(</[^>]*>)", string.Empty);
                    Notes = Regex.Replace(Notes, "(<[^>]*>)", string.Empty);


                    Localizations.Add(new Models.Localization
                    {
                        Language = Language,
                        Ui       = Ui,
                        Audio    = Audio,
                        Sub      = Sub,
                        Notes    = WebUtility.HtmlDecode(Notes),
                        IsManual = false
                    });
                }
            }
            catch (Exception ex)
            {
                Common.LogError(ex, "CheckLocalizations");
            }

            return(Localizations);
        }
Пример #10
0
 public static SupportStatusView ConvertToSupportStatusView(this SupportStatus supportStatus)
 {
     return(Mapper.Map <SupportStatus, SupportStatusView>(supportStatus));
 }
        public List <Localization> GetLocalizations(Game game)
        {
            List <Localization> Localizations = new List <Localization>();

            try
            {
                int SteamId = steamApi.GetSteamId(game.Name);

                if (SteamId != 0)
                {
                    string data       = GetSteamData(SteamId);
                    var    parsedData = JsonConvert.DeserializeObject <Dictionary <string, StoreAppDetailsResult> >(data);

                    if (parsedData[SteamId.ToString()].data != null)
                    {
                        var dataSplited       = parsedData[SteamId.ToString()].data.supported_languages.Split(new string[] { "<br>" }, StringSplitOptions.None);
                        var ListLocalizations = dataSplited[0].Split(',');

                        foreach (string Loc in ListLocalizations)
                        {
                            string        Language = string.Empty;
                            SupportStatus Ui       = SupportStatus.Native;
                            SupportStatus Audio    = SupportStatus.Unknown;
                            SupportStatus Sub      = SupportStatus.Unknown;

                            if (Loc.Contains("<strong>*</strong>"))
                            {
                                Audio = SupportStatus.Native;
                                Sub   = SupportStatus.Native;
                            }

                            Language = Loc.Replace("<strong>*</strong>", string.Empty).Trim();

                            switch (Language)
                            {
                            case "Portuguese - Brazil":
                                Language = "Brazilian Portuguese";
                                break;

                            case "Spanish - Spain":
                                Language = "Spanish";
                                break;
                            }

                            Localizations.Add(new Localization
                            {
                                Language = Language,
                                Ui       = Ui,
                                Audio    = Audio,
                                Sub      = Sub,
                                Notes    = string.Empty,
                                IsManual = false
                            });
                        }
                    }
                }
                else
                {
                    logger.Warn($"CheckLocalizations - No SteamId find for {game.Name}");
                }
            }
            catch (Exception ex)
            {
                Common.LogError(ex, "CheckLocalizations");
            }

            return(Localizations);
        }