diff --git a/Marco.Pms.Model/Projects/ProjectAllocation.cs b/Marco.Pms.Model/Projects/ProjectAllocation.cs index 7752c1c..f13b503 100644 --- a/Marco.Pms.Model/Projects/ProjectAllocation.cs +++ b/Marco.Pms.Model/Projects/ProjectAllocation.cs @@ -1,8 +1,8 @@ -using Marco.Pms.Model.Employees; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations.Schema; +using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations.Schema; namespace Marco.Pms.Model.Projects { diff --git a/Marco.Pms.Services/Controllers/AttendanceController.cs b/Marco.Pms.Services/Controllers/AttendanceController.cs index 9e7d1ea..3e9e1e9 100644 --- a/Marco.Pms.Services/Controllers/AttendanceController.cs +++ b/Marco.Pms.Services/Controllers/AttendanceController.cs @@ -10,7 +10,6 @@ using MarcoBMS.Services.Helpers; using Microsoft.AspNetCore.Mvc; using Microsoft.CodeAnalysis; using Microsoft.EntityFrameworkCore; -using static System.Runtime.InteropServices.JavaScript.JSType; namespace MarcoBMS.Services.Controllers { @@ -48,7 +47,7 @@ namespace MarcoBMS.Services.Controllers List lstAttendance = await _context.AttendanceLogs.Where(c => c.AttendanceId == attendanceid && c.TenantId == TenantId).ToListAsync(); - return Ok(ApiResponse.SuccessResponse(lstAttendance, String.Format("{0} Attendance records fetched successfully", lstAttendance.Count), 200)); + return Ok(ApiResponse.SuccessResponse(lstAttendance, System.String.Format("{0} Attendance records fetched successfully", lstAttendance.Count), 200)); } [HttpGet("log/employee/{employeeid}")] diff --git a/Marco.Pms.Services/Controllers/AuthController.cs b/Marco.Pms.Services/Controllers/AuthController.cs index de63975..c5ddd43 100644 --- a/Marco.Pms.Services/Controllers/AuthController.cs +++ b/Marco.Pms.Services/Controllers/AuthController.cs @@ -43,30 +43,29 @@ namespace MarcoBMS.Services.Controllers { var user = await _context.ApplicationUsers.FirstOrDefaultAsync(u => u.Email == loginDto.Username || u.PhoneNumber == loginDto.Username); - if (user == null || !await _userManager.CheckPasswordAsync(user, loginDto.Password)) + if (user != null && await _userManager.CheckPasswordAsync(user, loginDto.Password)) { - return Unauthorized(ApiResponse.ErrorResponse("Invalid username or password.", "Invalid username or password.", 401)); - //return Unauthorized("Invalid username or password."); + if (!user.IsActive) + { + return BadRequest(ApiResponse.ErrorResponse("User is In Active", "User is In Active", 400)); + } + if (!user.EmailConfirmed) + { + return BadRequest(ApiResponse.ErrorResponse("Your email is not verified, Please verify your email", "Your email is not verified, Please verify your email", 400)); + } + Employee emp = await _employeeHelper.GetEmployeeByApplicationUserID(user.Id); + //var refreshToken = GenerateRefreshToken(); + if (user.UserName == null) return NotFound(ApiResponse.ErrorResponse("UserName Not found", "UserName Not found", 404)); ; + + var token = _refreshTokenService.GenerateJwtToken(user.UserName, emp.TenantId.ToString(), _jwtSettings); + + var refreshToken = await _refreshTokenService.CreateRefreshToken(user.Id, emp.TenantId.ToString(), _jwtSettings); + + return Ok(ApiResponse.SuccessResponse(new { token = token, refreshToken = refreshToken }, "User logged in successfully.", 200)); + } - if (!user.IsActive) - { - return BadRequest(ApiResponse.ErrorResponse("User is In Active", "User is In Active", 400)); - //return BadRequest("User is In Active"); - } - if (!user.EmailConfirmed) - { - return BadRequest(ApiResponse.ErrorResponse("Your email is not verified, Please verify your email", "Your email is not verified, Please verify your email", 400)); - //return BadRequest("Your email is not verified, Please verify your email"); - } - Employee emp = await _employeeHelper.GetEmployeeByApplicationUserID(user.Id); - //var refreshToken = GenerateRefreshToken(); - - var token = _refreshTokenService.GenerateJwtToken(user.UserName, emp.TenantId.ToString(), _jwtSettings); - - var refreshToken = await _refreshTokenService.CreateRefreshToken(user.Id, emp.TenantId.ToString(), _jwtSettings); - - return Ok(ApiResponse.SuccessResponse(new { token = token, refreshToken = refreshToken }, "User logged in successfully.", 200)); + return Unauthorized(ApiResponse.ErrorResponse("Invalid username or password.", "Invalid username or password.", 401)); } [HttpPost("logout")] @@ -98,7 +97,7 @@ namespace MarcoBMS.Services.Controllers catch (Exception ex) { // _logger.LogError(ex, "Error during logout"); - return BadRequest(ApiResponse.ErrorResponse("Internal server error", "Internal server error", 500)); + return BadRequest(ApiResponse.ErrorResponse("Internal server error", ex.Message, 500)); } } @@ -120,6 +119,8 @@ namespace MarcoBMS.Services.Controllers return BadRequest(ApiResponse.ErrorResponse("Invalid request.", "Invalid request.", 400)); Employee emp = await _employeeHelper.GetEmployeeByApplicationUserID(user.Id); + + if (user.UserName == null) return NotFound(ApiResponse.ErrorResponse("UserName Not found", "UserName Not found", 404)); var newJwtToken = _refreshTokenService.GenerateJwtToken(user.UserName, emp.TenantId.ToString(), _jwtSettings); var newRefreshToken = await _refreshTokenService.CreateRefreshToken(user.Id, emp.TenantId.ToString(), _jwtSettings); @@ -137,6 +138,9 @@ namespace MarcoBMS.Services.Controllers /* SEND USER REGISTRATION MAIL*/ var token = await _userManager.GeneratePasswordResetTokenAsync(user); var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}"; + + if (user.Email == null) return NotFound(ApiResponse.ErrorResponse("Email Not found", "Email Not found", 404)); + await _emailSender.SendResetPasswordEmail(user.Email, "", resetLink); @@ -199,7 +203,7 @@ namespace MarcoBMS.Services.Controllers var user = await _userManager.FindByEmailAsync(emailDot.ToEmail); if (user == null) { - return BadRequest(ApiResponse.ErrorResponse("User not found.", "User not found.", 400)); + return NotFound(ApiResponse.ErrorResponse("User not found.", "User not found.", 404)); } /* New User*/ @@ -217,6 +221,9 @@ namespace MarcoBMS.Services.Controllers var isTokenValid = await _userManager.VerifyUserTokenAsync(user, TokenOptions.DefaultProvider, "ResetPassword", token); var resetLink = $"{_configuration["AppSettings:WebFrontendUrl"]}/reset-password?token={WebUtility.UrlEncode(token)}"; + + if (user.Email == null) return NotFound(ApiResponse.ErrorResponse("Email Not found", "Email Not found", 404)); + await _emailSender.SendResetPasswordEmail(user.Email, "", resetLink); return Ok(ApiResponse.SuccessResponse(new {}, "Password reset link sent.", 200)); diff --git a/Marco.Pms.Services/Controllers/EmployeeController.cs b/Marco.Pms.Services/Controllers/EmployeeController.cs index 4a974ea..4e38b40 100644 --- a/Marco.Pms.Services/Controllers/EmployeeController.cs +++ b/Marco.Pms.Services/Controllers/EmployeeController.cs @@ -57,7 +57,7 @@ namespace MarcoBMS.Services.Controllers } int tenantId = GetTenantId(); - var empRoles = _context.EmployeeRoleMappings.Where(c => c.EmployeeId == employeeId).Include(c => c.Role).Include(c => c.Employee).ToList(); + var empRoles = await _context.EmployeeRoleMappings.Where(c => c.EmployeeId == employeeId).Include(c => c.Role).Include(c => c.Employee).ToListAsync(); if (empRoles.Any()) { List roles = new List(); @@ -220,7 +220,7 @@ namespace MarcoBMS.Services.Controllers // Create Employee record if missing //Employee newEmployee = GetNewEmployeeModel(model, TenantId, existingUser.Id); //_context.Employees.Add(newEmployee); - return BadRequest(ApiResponse.ErrorResponse("You cannot use this email", "You cannot use this email", 400)); + return BadRequest(ApiResponse.ErrorResponse("Email already exist", "Email already exist", 400)); } @@ -276,8 +276,8 @@ namespace MarcoBMS.Services.Controllers } return Ok(ApiResponse.SuccessResponse("Success.",responsemessage, 200)); } - - private static Employee GetNewEmployeeModel(CreateUserDto model, int TenantId, string? ApplicationUserId) +#nullable disable + private static Employee GetNewEmployeeModel(CreateUserDto model, int TenantId, string ApplicationUserId) { var newEmployee = new Employee { @@ -304,7 +304,7 @@ namespace MarcoBMS.Services.Controllers return newEmployee; } - private static Employee GetUpdateEmployeeModel(CreateUserDto model, Employee existingEmployee, IdentityUser? existingIdentityUser = null) + private static Employee GetUpdateEmployeeModel(CreateUserDto model, Employee existingEmployee, IdentityUser existingIdentityUser = null) { if (existingEmployee.ApplicationUserId == null && existingIdentityUser != null) { diff --git a/Marco.Pms.Services/Controllers/ProjectController.cs b/Marco.Pms.Services/Controllers/ProjectController.cs index b738932..5c17f95 100644 --- a/Marco.Pms.Services/Controllers/ProjectController.cs +++ b/Marco.Pms.Services/Controllers/ProjectController.cs @@ -1,4 +1,6 @@ -using Marco.Pms.DataAccess.Data; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel; +using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Dtos.Project; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Entitlements; @@ -9,8 +11,8 @@ using Marco.Pms.Model.ViewModels; using Marco.Pms.Model.ViewModels.Employee; using MarcoBMS.Services.Helpers; using Microsoft.AspNetCore.Authorization; -using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.ModelBinding.Validation; using Microsoft.EntityFrameworkCore; namespace MarcoBMS.Services.Controllers @@ -22,18 +24,18 @@ namespace MarcoBMS.Services.Controllers { //private readonly IUnitOfWork _unitOfWork; private readonly ApplicationDbContext _context; - private ApplicationUser _applicationUser; + //private ApplicationUser _applicationUser; // private readonly IProjectRepository _projectrepo; - private readonly UserManager _userManager; + //private readonly UserManager _userManager; private readonly UserHelper _userHelper; - public ProjectController(UserManager userManager, ApplicationDbContext context, UserHelper userHelper) + public ProjectController(ApplicationDbContext context, UserHelper userHelper) { //_unitOfWork = unitOfWork; _context = context; //_projectrepo = projectrepo; - _userManager = userManager; + //_userManager = userManager; _userHelper = userHelper; } [HttpGet("list")] @@ -67,7 +69,7 @@ namespace MarcoBMS.Services.Controllers } var project = await _context.Projects.Where(c => c.TenantId == _userHelper.GetTenantId() && c.Id == id).SingleOrDefaultAsync(); - + if (project == null) return NotFound(ApiResponse.ErrorResponse("Project not found", "Project not found", 404)); return Ok(ApiResponse.SuccessResponse(project, "Success.", 200)); } @@ -123,9 +125,12 @@ namespace MarcoBMS.Services.Controllers foreach (WorkItem workItemDto in vm.workItems.Where(c => c.WorkAreaId == workAreaDto.Id).ToList()) { WorkItemVM workItemVM = new WorkItemVM() { WorkItemId = workItemDto.Id, WorkItem = workItemDto }; - workItemVM.WorkItem.WorkArea = null; - workItemVM.WorkItem.ActivityMaster.Tenant = null; - workItemVM.WorkItem.Tenant = null; + //workItemVM.WorkItem.WorkArea = null + workItemVM.WorkItem.WorkArea = new WorkArea (); + //workItemVM.WorkItem.ActivityMaster.Tenant = null; + workItemVM.WorkItem.ActivityMaster.Tenant = new Tenant(); + //workItemVM.WorkItem.Tenant = null; + workItemVM.WorkItem.Tenant = new Tenant(); @@ -282,7 +287,7 @@ namespace MarcoBMS.Services.Controllers [HttpGet] [Route("employees/get/{projectid?}/{includeInactive?}")] - public async Task GetEmployeeByProjectID(int? projectid, bool? includeInactive = false) + public async Task GetEmployeeByProjectID(int? projectid, bool includeInactive = false) { if (!ModelState.IsValid) { @@ -371,13 +376,14 @@ namespace MarcoBMS.Services.Controllers if (projectAllocationDot != null) { int TenentID = GetTenantId(); + List? result = new List(); foreach (var item in projectAllocationDot) { try { ProjectAllocation projectAllocation = item.ToProjectAllocationFromProjectAllocationDto(TenentID); - ProjectAllocation projectAllocationFromDb = await _context.ProjectAllocations.Where(c => c.EmployeeId == projectAllocation.EmployeeId + ProjectAllocation? projectAllocationFromDb = await _context.ProjectAllocations.Where(c => c.EmployeeId == projectAllocation.EmployeeId && c.ProjectId == projectAllocation.ProjectId && c.ReAllocationDate == null && c.TenantId == TenentID).SingleOrDefaultAsync(); @@ -401,7 +407,18 @@ namespace MarcoBMS.Services.Controllers _context.Entry(projectAllocationFromDb).Property(e => e.IsActive).IsModified = true; } await _context.SaveChangesAsync(); - + var result1 = new + { + Id = projectAllocationFromDb.Id, + EmployeeId = projectAllocation.EmployeeId, + JobRoleId = projectAllocation.JobRoleId, + IsActive = projectAllocation.IsActive, + ProjectId = projectAllocation.ProjectId, + AllocationDate = projectAllocation.AllocationDate, + ReAllocationDate = projectAllocation.ReAllocationDate, + TenantId = projectAllocation.TenantId + }; + result.Add(result1); } else { @@ -416,7 +433,8 @@ namespace MarcoBMS.Services.Controllers return Ok(ApiResponse.ErrorResponse(ex.Message,ex, 400)); } } - return Ok(ApiResponse.SuccessResponse(null, "Data saved successfully.", 200)); + + return Ok(ApiResponse.SuccessResponse(result, "Data saved successfully", 200)); } return BadRequest(ApiResponse.ErrorResponse("Invalid details.", "Work Item Details are not valid." , 400)); diff --git a/Marco.Pms.Services/Controllers/TaskController.cs b/Marco.Pms.Services/Controllers/TaskController.cs index f7eb3f3..88fff5e 100644 --- a/Marco.Pms.Services/Controllers/TaskController.cs +++ b/Marco.Pms.Services/Controllers/TaskController.cs @@ -67,14 +67,18 @@ namespace MarcoBMS.Services.Controllers var response = taskAllocation.ToAssignTaskVMFromTaskAllocation(); var teamMembers = new List { }; - foreach (var teamMember in assignTask.TaskTeam) { - var result = new TaskMembers + if (assignTask.TaskTeam != null) + { + foreach (var teamMember in assignTask.TaskTeam) { - TaskAllocationId = taskAllocation.Id, - EmployeeId = teamMember, - TenantId = tenantId, - }; - teamMembers.Add(result); + var result = new TaskMembers + { + TaskAllocationId = taskAllocation.Id, + EmployeeId = teamMember, + TenantId = tenantId, + }; + teamMembers.Add(result); + } } _context.TaskMembers.AddRange(teamMembers); await _context.SaveChangesAsync(); diff --git a/Marco.Pms.Services/Helpers/EmployeeHelper.cs b/Marco.Pms.Services/Helpers/EmployeeHelper.cs index ca7fae9..12b5d19 100644 --- a/Marco.Pms.Services/Helpers/EmployeeHelper.cs +++ b/Marco.Pms.Services/Helpers/EmployeeHelper.cs @@ -3,22 +3,23 @@ using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Employees; using Marco.Pms.Model.Mapper; using Marco.Pms.Model.ViewModels.Employee; +using MarcoBMS.Services.Service; using Microsoft.EntityFrameworkCore; -using System.Collections.Generic; -using System.Runtime.Intrinsics.Arm; namespace MarcoBMS.Services.Helpers { public class EmployeeHelper { private readonly ApplicationDbContext _context; - public EmployeeHelper(ApplicationDbContext context) + private readonly ILoggingService _logger; + public EmployeeHelper(ApplicationDbContext context, ILoggingService logger) { _context = context; + _logger = logger; } public async Task GetEmployeeByID(int EmployeeID) { - return await _context.Employees.FindAsync(EmployeeID); + return await _context.Employees.FindAsync(EmployeeID) ?? new Employee { }; } public async Task GetEmployeeByApplicationUserID(string ApplicationUserID) @@ -27,11 +28,12 @@ namespace MarcoBMS.Services.Helpers { var result = await _context.Employees.Where(c => c.ApplicationUserId == ApplicationUserID).ToListAsync(); - return await _context.Employees.Where(c => c.ApplicationUserId == ApplicationUserID).SingleOrDefaultAsync(); + return await _context.Employees.Where(c => c.ApplicationUserId == ApplicationUserID).SingleOrDefaultAsync() ?? new Employee { }; } catch (Exception ex) { - return null; + _logger.LogError("{Error}", ex.Message); + return new Employee(); } } @@ -63,6 +65,7 @@ namespace MarcoBMS.Services.Helpers } catch (Exception ex) { + _logger.LogError("{Error}", ex.Message); return new List(); } } @@ -93,6 +96,7 @@ namespace MarcoBMS.Services.Helpers } catch (Exception ex) { + _logger.LogError("{Error}", ex.Message); return new List(); } } diff --git a/Marco.Pms.Services/Helpers/UserHelper.cs b/Marco.Pms.Services/Helpers/UserHelper.cs index 45125c0..41d78f0 100644 --- a/Marco.Pms.Services/Helpers/UserHelper.cs +++ b/Marco.Pms.Services/Helpers/UserHelper.cs @@ -1,10 +1,8 @@ -using Marco.Pms.DataAccess.Data; -using Marco.Pms.Model.Dtos.Employees; +using System.Security.Claims; +using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Employees; -using Marco.Pms.Model.Entitlements; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; -using System.Security.Claims; namespace MarcoBMS.Services.Helpers { @@ -39,8 +37,9 @@ namespace MarcoBMS.Services.Helpers public async Task GetCurrentEmployeeAsync() { var user = await GetCurrentUserAsync(); + if (user == null) return new Employee { }; var Employee = await _context.Employees.FirstOrDefaultAsync(e => e.ApplicationUserId == user.Id); - return Employee; + return Employee ?? new Employee { }; } public async Task GetCurrentUserProfileAsync() @@ -58,16 +57,7 @@ namespace MarcoBMS.Services.Helpers public async Task GetRegisteredUser(string email) { - //IdentityUser? user = await _userManager.Users - // .FirstOrDefaultAsync(u => u.Email == model.Email || u.PhoneNumber == model.PhoneNumber); - - IdentityUser? user = await _userManager.FindByEmailAsync(email); - //if (user == null) - //{ - // user = await _userManager.Find(model.Email); - - //} return user; } } diff --git a/Marco.Pms.Services/Program.cs b/Marco.Pms.Services/Program.cs index dda2b5f..c42ab40 100644 --- a/Marco.Pms.Services/Program.cs +++ b/Marco.Pms.Services/Program.cs @@ -44,7 +44,7 @@ builder.Services.AddCors(options => { options.AddPolicy("Policy", policy => { - if (allowedOrigins != null) + if (allowedOrigins != null && allowedMethods != null && allowedHeaders != null) { policy.WithOrigins(allowedOrigins) .WithMethods(allowedMethods) @@ -93,7 +93,7 @@ builder.Services.AddTransient(); builder.Services.AddIdentity().AddEntityFrameworkStores().AddDefaultTokenProviders(); -string connString = builder.Configuration.GetConnectionString("DefaultConnectionString"); +string? connString = builder.Configuration.GetConnectionString("DefaultConnectionString"); builder.Services.AddDbContext(options => { @@ -122,24 +122,27 @@ builder.Services.AddSingleton(); builder.Services.AddHttpContextAccessor(); var jwtSettings = builder.Configuration.GetSection("Jwt").Get(); -builder.Services.AddAuthentication(options => +if(jwtSettings != null) { - options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; - options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; -}) -.AddJwtBearer(options => -{ - options.TokenValidationParameters = new TokenValidationParameters + builder.Services.AddAuthentication(options => { - ValidateIssuer = true, - ValidateAudience = true, - ValidateLifetime = true, - ValidateIssuerSigningKey = true, - ValidIssuer = jwtSettings.Issuer, - ValidAudience = jwtSettings.Audience, - IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtSettings.Key)) - }; -}); + options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; + options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; + }) + .AddJwtBearer(options => + { + options.TokenValidationParameters = new TokenValidationParameters + { + ValidateIssuer = true, + ValidateAudience = true, + ValidateLifetime = true, + ValidateIssuerSigningKey = true, + ValidIssuer = jwtSettings.Issuer, + ValidAudience = jwtSettings.Audience, + IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtSettings.Key)) + }; + }); +} builder.Services.AddSingleton(jwtSettings); diff --git a/Marco.Pms.Services/Service/RefreshTokenService.cs b/Marco.Pms.Services/Service/RefreshTokenService.cs index 9909283..bccabcd 100644 --- a/Marco.Pms.Services/Service/RefreshTokenService.cs +++ b/Marco.Pms.Services/Service/RefreshTokenService.cs @@ -1,16 +1,11 @@ -using Marco.Pms.DataAccess.Data; +using System.IdentityModel.Tokens.Jwt; +using System.Security.Claims; +using System.Text; +using Marco.Pms.DataAccess.Data; using Marco.Pms.Model.Authentication; -using Marco.Pms.Model.Entitlements; -using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Caching.Memory; using Microsoft.IdentityModel.Tokens; -using Newtonsoft.Json.Linq; -using SharpCompress.Common; -using System.IdentityModel.Tokens.Jwt; -using System.Security.Claims; -using System.Security.Cryptography; -using System.Text; namespace MarcoBMS.Services.Service @@ -19,12 +14,14 @@ namespace MarcoBMS.Services.Service { private readonly ApplicationDbContext _context; private readonly IMemoryCache _cache; // For optional JWT blacklisting + private readonly ILoggingService _logger; - public RefreshTokenService(ApplicationDbContext context, IMemoryCache cache) + public RefreshTokenService(ApplicationDbContext context, IMemoryCache cache, ILoggingService logger) { _context = context; _cache = cache; + _logger = logger; } public string GenerateJwtToken(string username, string tenantId, JwtSettings _jwtSettings) @@ -94,13 +91,14 @@ namespace MarcoBMS.Services.Service return strToken; }catch(Exception ex) { + _logger.LogError("{Error}", ex.Message); throw; } } public async Task GetRefreshToken(string token) { - return await _context.RefreshTokens.FirstOrDefaultAsync(rt => rt.Token == token && !rt.IsRevoked && !rt.IsUsed); + return await _context.RefreshTokens.FirstOrDefaultAsync(rt => rt.Token == token && !rt.IsRevoked && !rt.IsUsed) ?? new RefreshToken(); } public async Task MarkRefreshTokenAsUsed(RefreshToken refreshToken) diff --git a/Marco.Pms.Services/appsettings.json b/Marco.Pms.Services/appsettings.json index 13b7b8b..c204963 100644 --- a/Marco.Pms.Services/appsettings.json +++ b/Marco.Pms.Services/appsettings.json @@ -10,7 +10,7 @@ "Override": { "Microsoft": "Warning", "Microsoft.EntityFrameworkCore.Database.Command": "Warning", - "Microsoft.AspNetCore.Mvc.Infrastructure": "Warning", + "Microsoft.AspNetCore.Mvc.Infrastructure": "Warning" //"Serilog.AspNetCore.RequestLoggingMiddleware": "Warning" } }, @@ -64,7 +64,7 @@ "ConnectionStrings": { // "DefaultConnectionString": "Server=103.50.160.45;User ID=marcowvh_admin;Password=Marcoemp@123;Database=marcowvh_empattendanceci", - "DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2", + "DefaultConnectionString": "Server=localhost;port=3306;User ID=root;Password=root;Database=MarcoBMS2" //"DefaultConnectionString": "Server=147.93.98.152;User ID=devuser;Password=AppUser@123$;Database=MarcoBMS1" }, "AppSettings": {