From 36dbc2f25670f2f7abe2c439a9cfd76fd98ce10c Mon Sep 17 00:00:00 2001 From: newenay <37123024+newenay@users.noreply.github.com> Date: Thu, 8 Sep 2022 16:48:47 -0400 Subject: [PATCH] Fixed half of warnings having to do with allowing Null string objects. (#791) --- .../Areas/Identity/Pages/Account/Login.cshtml.cs | 14 +++++++------- .../Areas/Identity/Pages/Account/Logout.cshtml.cs | 2 +- .../Identity/Pages/Account/Register.cshtml.cs | 14 +++++++------- src/Web/Controllers/ManageController.cs | 4 ++-- src/Web/Pages/Basket/BasketViewModel.cs | 2 +- src/Web/Pages/Basket/Checkout.cshtml.cs | 2 +- src/Web/Pages/Basket/Index.cshtml.cs | 2 +- src/Web/Pages/Error.cshtml.cs | 2 +- src/Web/SlugifyParameterTransformer.cs | 2 +- src/Web/ViewModels/Account/LoginViewModel.cs | 4 ++-- .../ViewModels/Account/LoginWith2faViewModel.cs | 2 +- src/Web/ViewModels/Account/RegisterViewModel.cs | 6 +++--- .../ViewModels/Account/ResetPasswordViewModel.cs | 8 ++++---- src/Web/ViewModels/CatalogIndexViewModel.cs | 8 ++++---- src/Web/ViewModels/CatalogItemViewModel.cs | 4 ++-- src/Web/ViewModels/File/FileViewModel.cs | 6 +++--- .../ViewModels/Manage/ChangePasswordViewModel.cs | 8 ++++---- .../Manage/EnableAuthenticatorViewModel.cs | 6 +++--- .../ViewModels/Manage/ExternalLoginsViewModel.cs | 6 +++--- src/Web/ViewModels/Manage/IndexViewModel.cs | 4 ++-- src/Web/ViewModels/Manage/RemoveLoginViewModel.cs | 4 ++-- src/Web/ViewModels/Manage/SetPasswordViewModel.cs | 6 +++--- .../Manage/ShowRecoveryCodesViewModel.cs | 2 +- src/Web/ViewModels/OrderItemViewModel.cs | 4 ++-- src/Web/ViewModels/OrderViewModel.cs | 2 +- src/Web/ViewModels/PaginationInfoViewModel.cs | 4 ++-- src/Web/Views/Manage/ManageNavPages.cs | 2 +- 27 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/Web/Areas/Identity/Pages/Account/Login.cshtml.cs b/src/Web/Areas/Identity/Pages/Account/Login.cshtml.cs index afd0bcd..87f7962 100644 --- a/src/Web/Areas/Identity/Pages/Account/Login.cshtml.cs +++ b/src/Web/Areas/Identity/Pages/Account/Login.cshtml.cs @@ -24,24 +24,24 @@ public class LoginModel : PageModel } [BindProperty] - public InputModel Input { get; set; } + public InputModel? Input { get; set; } - public IList ExternalLogins { get; set; } + public IList? ExternalLogins { get; set; } - public string ReturnUrl { get; set; } + public string? ReturnUrl { get; set; } [TempData] - public string ErrorMessage { get; set; } + public string? ErrorMessage { get; set; } public class InputModel { [Required] [EmailAddress] - public string Email { get; set; } + public string? Email { get; set; } [Required] [DataType(DataType.Password)] - public string Password { get; set; } + public string? Password { get; set; } [Display(Name = "Remember me?")] public bool RememberMe { get; set; } @@ -101,7 +101,7 @@ public class LoginModel : PageModel return Page(); } - private async Task TransferAnonymousBasketToUserAsync(string userName) + private async Task TransferAnonymousBasketToUserAsync(string? userName) { if (Request.Cookies.ContainsKey(Constants.BASKET_COOKIENAME)) { diff --git a/src/Web/Areas/Identity/Pages/Account/Logout.cshtml.cs b/src/Web/Areas/Identity/Pages/Account/Logout.cshtml.cs index b6700e7..8af0afb 100644 --- a/src/Web/Areas/Identity/Pages/Account/Logout.cshtml.cs +++ b/src/Web/Areas/Identity/Pages/Account/Logout.cshtml.cs @@ -32,7 +32,7 @@ public class LogoutModel : PageModel { } - public async Task OnPost(string returnUrl = null) + public async Task OnPost(string? returnUrl = null) { await _signInManager.SignOutAsync(); await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme); diff --git a/src/Web/Areas/Identity/Pages/Account/Register.cshtml.cs b/src/Web/Areas/Identity/Pages/Account/Register.cshtml.cs index 120c0bf..5991039 100644 --- a/src/Web/Areas/Identity/Pages/Account/Register.cshtml.cs +++ b/src/Web/Areas/Identity/Pages/Account/Register.cshtml.cs @@ -34,35 +34,35 @@ public class RegisterModel : PageModel } [BindProperty] - public InputModel Input { get; set; } + public InputModel? Input { get; set; } - public string ReturnUrl { get; set; } + public string? ReturnUrl { get; set; } public class InputModel { [Required] [EmailAddress] [Display(Name = "Email")] - public string Email { get; set; } + public string? Email { get; set; } [Required] [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "Password")] - public string Password { get; set; } + public string? Password { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm password")] [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } + public string? ConfirmPassword { get; set; } } - public void OnGet(string returnUrl = null) + public void OnGet(string? returnUrl = null) { ReturnUrl = returnUrl; } - public async Task OnPostAsync(string returnUrl = null) + public async Task OnPostAsync(string? returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) diff --git a/src/Web/Controllers/ManageController.cs b/src/Web/Controllers/ManageController.cs index 4f0604e..8bf6d28 100644 --- a/src/Web/Controllers/ManageController.cs +++ b/src/Web/Controllers/ManageController.cs @@ -40,7 +40,7 @@ public class ManageController : Controller } [TempData] - public string StatusMessage { get; set; } + public string? StatusMessage { get; set; } [HttpGet] public async Task MyAccount() @@ -377,7 +377,7 @@ public class ManageController : Controller [HttpGet] public IActionResult ShowRecoveryCodes() { - var recoveryCodes = (string[])TempData[RecoveryCodesKey]; + var recoveryCodes = (string[]?)TempData[RecoveryCodesKey]; if (recoveryCodes == null) { return RedirectToAction(nameof(TwoFactorAuthentication)); diff --git a/src/Web/Pages/Basket/BasketViewModel.cs b/src/Web/Pages/Basket/BasketViewModel.cs index 07b1028..a48ddbd 100644 --- a/src/Web/Pages/Basket/BasketViewModel.cs +++ b/src/Web/Pages/Basket/BasketViewModel.cs @@ -4,7 +4,7 @@ public class BasketViewModel { public int Id { get; set; } public List Items { get; set; } = new List(); - public string BuyerId { get; set; } + public string? BuyerId { get; set; } public decimal Total() { diff --git a/src/Web/Pages/Basket/Checkout.cshtml.cs b/src/Web/Pages/Basket/Checkout.cshtml.cs index 90f6a92..37d00a7 100644 --- a/src/Web/Pages/Basket/Checkout.cshtml.cs +++ b/src/Web/Pages/Basket/Checkout.cshtml.cs @@ -16,7 +16,7 @@ public class CheckoutModel : PageModel private readonly IBasketService _basketService; private readonly SignInManager _signInManager; private readonly IOrderService _orderService; - private string _username = null; + private string? _username = null; private readonly IBasketViewModelService _basketViewModelService; private readonly IAppLogger _logger; diff --git a/src/Web/Pages/Basket/Index.cshtml.cs b/src/Web/Pages/Basket/Index.cshtml.cs index b8b7024..4eea893 100644 --- a/src/Web/Pages/Basket/Index.cshtml.cs +++ b/src/Web/Pages/Basket/Index.cshtml.cs @@ -66,7 +66,7 @@ public class IndexModel : PageModel private string GetOrSetBasketCookieAndUserName() { - string userName = null; + string? userName = null; if (Request.HttpContext.User.Identity.IsAuthenticated) { diff --git a/src/Web/Pages/Error.cshtml.cs b/src/Web/Pages/Error.cshtml.cs index 532e5a9..dc3bf1e 100644 --- a/src/Web/Pages/Error.cshtml.cs +++ b/src/Web/Pages/Error.cshtml.cs @@ -7,7 +7,7 @@ namespace Microsoft.eShopWeb.Web.Pages; [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public class ErrorModel : PageModel { - public string RequestId { get; set; } + public string? RequestId { get; set; } public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); diff --git a/src/Web/SlugifyParameterTransformer.cs b/src/Web/SlugifyParameterTransformer.cs index c0e18cd..3946970 100644 --- a/src/Web/SlugifyParameterTransformer.cs +++ b/src/Web/SlugifyParameterTransformer.cs @@ -5,7 +5,7 @@ namespace Microsoft.eShopWeb.Web; public class SlugifyParameterTransformer : IOutboundParameterTransformer { - public string TransformOutbound(object value) + public string? TransformOutbound(object value) { if (value == null) { return null; } diff --git a/src/Web/ViewModels/Account/LoginViewModel.cs b/src/Web/ViewModels/Account/LoginViewModel.cs index 2230bb7..846407a 100644 --- a/src/Web/ViewModels/Account/LoginViewModel.cs +++ b/src/Web/ViewModels/Account/LoginViewModel.cs @@ -6,11 +6,11 @@ public class LoginViewModel { [Required] [EmailAddress] - public string Email { get; set; } + public string? Email { get; set; } [Required] [DataType(DataType.Password)] - public string Password { get; set; } + public string? Password { get; set; } [Display(Name = "Remember me?")] public bool RememberMe { get; set; } diff --git a/src/Web/ViewModels/Account/LoginWith2faViewModel.cs b/src/Web/ViewModels/Account/LoginWith2faViewModel.cs index f09954b..fc159af 100644 --- a/src/Web/ViewModels/Account/LoginWith2faViewModel.cs +++ b/src/Web/ViewModels/Account/LoginWith2faViewModel.cs @@ -8,7 +8,7 @@ public class LoginWith2faViewModel [StringLength(7, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Text)] [Display(Name = "Authenticator code")] - public string TwoFactorCode { get; set; } + public string? TwoFactorCode { get; set; } [Display(Name = "Remember this machine")] public bool RememberMachine { get; set; } diff --git a/src/Web/ViewModels/Account/RegisterViewModel.cs b/src/Web/ViewModels/Account/RegisterViewModel.cs index f73b17e..f8e3c0d 100644 --- a/src/Web/ViewModels/Account/RegisterViewModel.cs +++ b/src/Web/ViewModels/Account/RegisterViewModel.cs @@ -7,16 +7,16 @@ public class RegisterViewModel [Required] [EmailAddress] [Display(Name = "Email")] - public string Email { get; set; } + public string? Email { get; set; } [Required] [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "Password")] - public string Password { get; set; } + public string? Password { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm password")] [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } + public string? ConfirmPassword { get; set; } } diff --git a/src/Web/ViewModels/Account/ResetPasswordViewModel.cs b/src/Web/ViewModels/Account/ResetPasswordViewModel.cs index 6bf3979..9ccd366 100644 --- a/src/Web/ViewModels/Account/ResetPasswordViewModel.cs +++ b/src/Web/ViewModels/Account/ResetPasswordViewModel.cs @@ -6,17 +6,17 @@ public class ResetPasswordViewModel { [Required] [EmailAddress] - public string Email { get; set; } + public string? Email { get; set; } [Required] [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] - public string Password { get; set; } + public string? Password { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm password")] [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } + public string? ConfirmPassword { get; set; } - public string Code { get; set; } + public string? Code { get; set; } } diff --git a/src/Web/ViewModels/CatalogIndexViewModel.cs b/src/Web/ViewModels/CatalogIndexViewModel.cs index b3457bd..247afe5 100644 --- a/src/Web/ViewModels/CatalogIndexViewModel.cs +++ b/src/Web/ViewModels/CatalogIndexViewModel.cs @@ -5,10 +5,10 @@ namespace Microsoft.eShopWeb.Web.ViewModels; public class CatalogIndexViewModel { - public List CatalogItems { get; set; } - public List Brands { get; set; } - public List Types { get; set; } + public List? CatalogItems { get; set; } + public List? Brands { get; set; } + public List? Types { get; set; } public int? BrandFilterApplied { get; set; } public int? TypesFilterApplied { get; set; } - public PaginationInfoViewModel PaginationInfo { get; set; } + public PaginationInfoViewModel? PaginationInfo { get; set; } } diff --git a/src/Web/ViewModels/CatalogItemViewModel.cs b/src/Web/ViewModels/CatalogItemViewModel.cs index 6b92830..5a2f9ed 100644 --- a/src/Web/ViewModels/CatalogItemViewModel.cs +++ b/src/Web/ViewModels/CatalogItemViewModel.cs @@ -3,7 +3,7 @@ public class CatalogItemViewModel { public int Id { get; set; } - public string Name { get; set; } - public string PictureUri { get; set; } + public string? Name { get; set; } + public string? PictureUri { get; set; } public decimal Price { get; set; } } diff --git a/src/Web/ViewModels/File/FileViewModel.cs b/src/Web/ViewModels/File/FileViewModel.cs index bae9028..0a0a76c 100644 --- a/src/Web/ViewModels/File/FileViewModel.cs +++ b/src/Web/ViewModels/File/FileViewModel.cs @@ -2,7 +2,7 @@ public class FileViewModel { - public string FileName { get; set; } - public string Url { get; set; } - public string DataBase64 { get; set; } + public string? FileName { get; set; } + public string? Url { get; set; } + public string? DataBase64 { get; set; } } diff --git a/src/Web/ViewModels/Manage/ChangePasswordViewModel.cs b/src/Web/ViewModels/Manage/ChangePasswordViewModel.cs index 0739cab..bfe5df9 100644 --- a/src/Web/ViewModels/Manage/ChangePasswordViewModel.cs +++ b/src/Web/ViewModels/Manage/ChangePasswordViewModel.cs @@ -7,18 +7,18 @@ public class ChangePasswordViewModel [Required] [DataType(DataType.Password)] [Display(Name = "Current password")] - public string OldPassword { get; set; } + public string? OldPassword { get; set; } [Required] [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "New password")] - public string NewPassword { get; set; } + public string? NewPassword { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm new password")] [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } + public string? ConfirmPassword { get; set; } - public string StatusMessage { get; set; } + public string? StatusMessage { get; set; } } diff --git a/src/Web/ViewModels/Manage/EnableAuthenticatorViewModel.cs b/src/Web/ViewModels/Manage/EnableAuthenticatorViewModel.cs index f59f364..840858c 100644 --- a/src/Web/ViewModels/Manage/EnableAuthenticatorViewModel.cs +++ b/src/Web/ViewModels/Manage/EnableAuthenticatorViewModel.cs @@ -10,11 +10,11 @@ public class EnableAuthenticatorViewModel [StringLength(7, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Text)] [Display(Name = "Verification Code")] - public string Code { get; set; } + public string? Code { get; set; } [BindNever] - public string SharedKey { get; set; } + public string? SharedKey { get; set; } [BindNever] - public string AuthenticatorUri { get; set; } + public string? AuthenticatorUri { get; set; } } diff --git a/src/Web/ViewModels/Manage/ExternalLoginsViewModel.cs b/src/Web/ViewModels/Manage/ExternalLoginsViewModel.cs index 9dfa964..9f86135 100644 --- a/src/Web/ViewModels/Manage/ExternalLoginsViewModel.cs +++ b/src/Web/ViewModels/Manage/ExternalLoginsViewModel.cs @@ -6,8 +6,8 @@ namespace Microsoft.eShopWeb.Web.ViewModels.Manage; public class ExternalLoginsViewModel { - public IList CurrentLogins { get; set; } - public IList OtherLogins { get; set; } + public IList? CurrentLogins { get; set; } + public IList? OtherLogins { get; set; } public bool ShowRemoveButton { get; set; } - public string StatusMessage { get; set; } + public string? StatusMessage { get; set; } } diff --git a/src/Web/ViewModels/Manage/IndexViewModel.cs b/src/Web/ViewModels/Manage/IndexViewModel.cs index fc00b3f..212ecc9 100644 --- a/src/Web/ViewModels/Manage/IndexViewModel.cs +++ b/src/Web/ViewModels/Manage/IndexViewModel.cs @@ -10,11 +10,11 @@ public class IndexViewModel [Required] [EmailAddress] - public string Email { get; set; } + public string? Email { get; set; } [Phone] [Display(Name = "Phone number")] - public string PhoneNumber { get; set; } + public string? PhoneNumber { get; set; } public string? StatusMessage { get; set; } } diff --git a/src/Web/ViewModels/Manage/RemoveLoginViewModel.cs b/src/Web/ViewModels/Manage/RemoveLoginViewModel.cs index 2cd871c..45a5975 100644 --- a/src/Web/ViewModels/Manage/RemoveLoginViewModel.cs +++ b/src/Web/ViewModels/Manage/RemoveLoginViewModel.cs @@ -2,6 +2,6 @@ public class RemoveLoginViewModel { - public string LoginProvider { get; set; } - public string ProviderKey { get; set; } + public string? LoginProvider { get; set; } + public string? ProviderKey { get; set; } } diff --git a/src/Web/ViewModels/Manage/SetPasswordViewModel.cs b/src/Web/ViewModels/Manage/SetPasswordViewModel.cs index b0c2897..cdf74e9 100644 --- a/src/Web/ViewModels/Manage/SetPasswordViewModel.cs +++ b/src/Web/ViewModels/Manage/SetPasswordViewModel.cs @@ -8,12 +8,12 @@ public class SetPasswordViewModel [StringLength(100, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 6)] [DataType(DataType.Password)] [Display(Name = "New password")] - public string NewPassword { get; set; } + public string? NewPassword { get; set; } [DataType(DataType.Password)] [Display(Name = "Confirm new password")] [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] - public string ConfirmPassword { get; set; } + public string? ConfirmPassword { get; set; } - public string StatusMessage { get; set; } + public string? StatusMessage { get; set; } } diff --git a/src/Web/ViewModels/Manage/ShowRecoveryCodesViewModel.cs b/src/Web/ViewModels/Manage/ShowRecoveryCodesViewModel.cs index 6a2b561..a9eb4da 100644 --- a/src/Web/ViewModels/Manage/ShowRecoveryCodesViewModel.cs +++ b/src/Web/ViewModels/Manage/ShowRecoveryCodesViewModel.cs @@ -2,6 +2,6 @@ public class ShowRecoveryCodesViewModel { - public string[] RecoveryCodes { get; set; } + public string[]? RecoveryCodes { get; set; } } diff --git a/src/Web/ViewModels/OrderItemViewModel.cs b/src/Web/ViewModels/OrderItemViewModel.cs index 6db3962..45d5000 100644 --- a/src/Web/ViewModels/OrderItemViewModel.cs +++ b/src/Web/ViewModels/OrderItemViewModel.cs @@ -3,9 +3,9 @@ public class OrderItemViewModel { public int ProductId { get; set; } - public string ProductName { get; set; } + public string? ProductName { get; set; } public decimal UnitPrice { get; set; } public decimal Discount => 0; public int Units { get; set; } - public string PictureUrl { get; set; } + public string? PictureUrl { get; set; } } diff --git a/src/Web/ViewModels/OrderViewModel.cs b/src/Web/ViewModels/OrderViewModel.cs index 362a928..7ecfd90 100644 --- a/src/Web/ViewModels/OrderViewModel.cs +++ b/src/Web/ViewModels/OrderViewModel.cs @@ -12,6 +12,6 @@ public class OrderViewModel public DateTimeOffset OrderDate { get; set; } public decimal Total { get; set; } public string Status => DEFAULT_STATUS; - public Address ShippingAddress { get; set; } + public Address? ShippingAddress { get; set; } public List OrderItems { get; set; } = new List(); } diff --git a/src/Web/ViewModels/PaginationInfoViewModel.cs b/src/Web/ViewModels/PaginationInfoViewModel.cs index 1d1dd72..6d37c1f 100644 --- a/src/Web/ViewModels/PaginationInfoViewModel.cs +++ b/src/Web/ViewModels/PaginationInfoViewModel.cs @@ -6,6 +6,6 @@ public class PaginationInfoViewModel public int ItemsPerPage { get; set; } public int ActualPage { get; set; } public int TotalPages { get; set; } - public string Previous { get; set; } - public string Next { get; set; } + public string? Previous { get; set; } + public string? Next { get; set; } } diff --git a/src/Web/Views/Manage/ManageNavPages.cs b/src/Web/Views/Manage/ManageNavPages.cs index f64885d..244a707 100644 --- a/src/Web/Views/Manage/ManageNavPages.cs +++ b/src/Web/Views/Manage/ManageNavPages.cs @@ -27,7 +27,7 @@ public static class ManageNavPages public static string PageNavClass(ViewContext viewContext, string page) { var activePage = viewContext.ViewData["ActivePage"] as string; - return string.Equals(activePage, page, StringComparison.OrdinalIgnoreCase) ? "active" : null; + return string.Equals(activePage, page, StringComparison.OrdinalIgnoreCase) ? "active" : string.Empty; } public static void AddActivePage(this ViewDataDictionary viewData, string activePage) => viewData[ActivePageKey] = activePage;