Browse Source

address update

feature/19315_Customer-Registration-new
Dinesh 12 months ago
parent
commit
4e72919aac
  1. 4
      CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs
  2. 13
      CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/RegisterBusiness.cs
  3. 4
      CustomerOnlineV2/CustomerOnlineV2.Common/Models/RegisterModel/UserRegisterResponse.cs
  4. 12
      CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/AccountRepository/AccountRepository.cs
  5. 2
      CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/IRegisterRepository.cs
  6. 107
      CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/RegisterRepository.cs
  7. 12
      CustomerOnlineV2/CustomerOnlineV2/Controllers/CustomerController.cs
  8. 43
      CustomerOnlineV2/CustomerOnlineV2/Views/Account/ForceChangePassword.cshtml
  9. 47
      CustomerOnlineV2/CustomerOnlineV2/Views/Customer/CustomerProfile.cshtml

4
CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/IRegisterBusiness.cs

@ -1,6 +1,7 @@
using CustomerOnlineV2.Common.Models;
using CustomerOnlineV2.Common.Models.AccountModel;
using CustomerOnlineV2.Common.Models.HomeModel;
using CustomerOnlineV2.Common.Models.ReceiverModel;
using CustomerOnlineV2.Common.Models.RegisterModel;
using System;
using System.Collections.Generic;
@ -17,6 +18,9 @@ namespace CustomerOnlineV2.Business.Business.RegisterBusiness
// Task<CustomerList> GetTranCustomerById(string id);
//Task<CustomerList> GetCustomerDetailById(LoginResponse loginDetails);
Task<CustomerList> GetTranCustomerById(LoginResponse loginDetails);
Task<CustomerListModel> UpdateCustomers(CustomerListModel customer, string Id);
//Task<CustomerListModel> UpdateCustomers(CustomerListModel customer, string id);
//Task<CustomerList> updateCUstomer(LoginResponse loginDetails);
//Task<CustomerTransactionList> GetTranCustomerById(string id);
}

13
CustomerOnlineV2/CustomerOnlineV2.Business/Business/RegisterBusiness/RegisterBusiness.cs

@ -1,12 +1,14 @@
using CustomerOnlineV2.Api.API.TPApi;
using CustomerOnlineV2.Common.Models;
using CustomerOnlineV2.Common.Models.AccountModel;
using CustomerOnlineV2.Common.Models.ReceiverModel;
using CustomerOnlineV2.Common.Models.RegisterModel;
using CustomerOnlineV2.Repository.Repository.RegisterRepository;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
@ -43,5 +45,16 @@ namespace CustomerOnlineV2.Business.Business.RegisterBusiness
{
return await _registerRepository.GetTranCustomerById(loginDetails);
}
public async Task<CustomerListModel> UpdateCustomers(CustomerListModel model, string id)
{
var model1 = await _registerRepository.UpdateCustomers1(model, id);
return model1;
}
//public async Task<CustomerList> updateCUstomer(LoginResponse loginDetails)
//{
// return await _registerRepository.updateCustomer1(loginDetails);
//}
}
}

4
CustomerOnlineV2/CustomerOnlineV2.Common/Models/RegisterModel/UserRegisterResponse.cs

@ -38,8 +38,8 @@ namespace CustomerOnlineV2.Common.Models.RegisterModel
public List<CustomerListModel>? CustomerListModel { get; set; }
}
public class CustomerListModel
{
public class CustomerListModel : CommonResponse
{
public string? flag { get; set; }
public string? customerId { get; set; }
//public string? password { get; set; }

12
CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/AccountRepository/AccountRepository.cs

@ -73,13 +73,13 @@ namespace CustomerOnlineV2.Repository.Repository.AccountRepository
CommonResponse _response = new CommonResponse();
try
{
var sql = "EXEC PROC_DYNAMIC_TABLE";
sql += " @Flag = " + _connHelper.FilterString("ForceChange");
sql += ",@UserEmail = " + _connHelper.FilterString(logindetails.UserName);
var sql = "EXEC mobile_proc_ChangePassword";
//sql += " @Flag = " + _connHelper.FilterString("ForceChange");
sql += ",@userName = " + _connHelper.FilterString(logindetails.UserName);
sql += ",@OldPassword = " + _connHelper.FilterString(model.OldPassword);
sql += ",@Password = " + _connHelper.FilterString(model.NewPassword);
sql += ",@ConfirmPassword = " + _connHelper.FilterString(model.ConfirmNewPassword);
sql += ",@ipAddress = " + _connHelper.FilterString(model.IpAddress);
sql += ",@newPassword = " + _connHelper.FilterString(model.NewPassword);
//sql += ",@ConfirmPassword = " + _connHelper.FilterString(model.ConfirmNewPassword);
//sql += ",@ipAddress = " + _connHelper.FilterString(model.IpAddress);
_logger.LogDebug("ACCOUNTREPOSITORY | CHANGEPASSWORD | SQL | " + sql);
return _connHelper.ParseDbResult(sql);

2
CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/IRegisterRepository.cs

@ -15,5 +15,7 @@ namespace CustomerOnlineV2.Repository.Repository.RegisterRepository
// Task<CustomerList> GetCustomerDetailById(string id);
//Task<CustomerList> GetCustomerDetailById(LoginResponse loginDetails);
Task<CustomerList> GetTranCustomerById(LoginResponse loginDetails);
Task<CustomerListModel> UpdateCustomers1(CustomerListModel model, string id);
//Task<CustomerList> updateCustomer1(LoginResponse loginDetails);
}
}

107
CustomerOnlineV2/CustomerOnlineV2.Repository/Repository/RegisterRepository/RegisterRepository.cs

@ -9,6 +9,7 @@ using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
@ -117,6 +118,7 @@ namespace CustomerOnlineV2.Repository.Repository.RegisterRepository
_response.ResponseCode = Convert.ToInt16(dt.Rows[0]["errorCode"]);
_response.ResponseMessage = Convert.ToString(dt.Rows[0]["msg"]);
List<CustomerListModel> obj = new List<CustomerListModel>();
foreach (DataRow item in dt.Rows)
{
@ -151,6 +153,111 @@ namespace CustomerOnlineV2.Repository.Repository.RegisterRepository
return await Task.FromResult(_response);
}
public async Task<CustomerListModel> UpdateCustomers1(CustomerListModel model, string id)
{
try
{
var sql = "EXEC mobile_proc_online_customerMaster_V1";
sql += " @flag = " + _connHelper.FilterString("update-address");
sql += ",@customerId =" + _connHelper.FilterString(id);
sql += ",@postalCode =" + _connHelper.FilterString(model.zipCode);
//sql += ",@nativeCountry =" + _connHelper.FilterString(model.NativeCountry);
sql += ",@address1 =" + _connHelper.FilterString(model.address);
sql += ",@address2 =" + _connHelper.FilterString(model.address2);
//_logger.LogDebug("RECEIVERREPOSITORY | GETRECEIVEDRDETAILS | SQL | " + sql);
var dt = _connHelper.ExecuteDataTable(sql);
if (dt == null || dt.Rows.Count <= 0)
{
model.ResponseCode = ResponseHelper.FAILED;
model.ResponseMessage = "DB Null Error!";
// _logger.LogError("RECEIVERREPOSITORY | GETRECEIVEDRDETAILS | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
}
else
{
model.ResponseCode = ResponseHelper.SUCCESS;
model.ResponseMessage = ResponseMessageHelper.SUCCESS;
// _response.firstName = Convert.ToString(dt.Rows[0]["firstName"]);
// _response.middleName = Convert.ToString(dt.Rows[0]["middleName"]);
// _response.lastName1 = Convert.ToString(dt.Rows[0]["lastName1"]);
// _response.Country = Convert.ToString(dt.Rows[0]["Country"]);
// _response.Address = Convert.ToString(dt.Rows[0]["Address"]);
// _response.State = Convert.ToString(dt.Rows[0]["State"]);
}
}
catch (Exception ex)
{
model.ResponseCode = ResponseHelper.EXCEPTION;
model.ResponseMessage = "Exception occured: " + ex.Message;
//_logger.LogError("RECEIVERREPOSITORY | GETRECEIVEDRDETAILS | EXCEPTION | " + JsonConvert.SerializeObject(_response));
}
return await Task.FromResult(model);
}
//public async Task<CustomerList> updateCustomer1(LoginResponse loginDetails)
//{
// CustomerList _response = new CustomerList();
// try
// {
// var sql = "EXEC mobile_proc_online_customerMaster_V1";
// sql += " @Flag = " + _connHelper.FilterString("update-address");
// sql += ",@customerId= " + _connHelper.FilterString(loginDetails.UserId);
// //sql += " @Flag = " + _connHelper.FilterString(loginDetails.zipcode);
// //sql += ",@customerId= " + _connHelper.FilterString(loginDetails.UserId);
// //logger.LogDebug("HOMEREPOSITORY | GETTRANSACTIONDETAIL | SQL | " + sql);
// var dt = _connHelper.ExecuteDataTable(sql);
// if (dt == null || dt.Rows.Count <= 0)
// {
// _response.ResponseCode = ResponseHelper.FAILED;
// _response.ResponseMessage = "DB Null Error!";
// //_logger.LogError("HOMEREPOSITORY | GETTRANSACTIONDETAIL | DB RESPONSE | " + JsonConvert.SerializeObject(_response));
// }
// else
// {
// _response.ResponseCode = Convert.ToInt16(dt.Rows[0]["errorCode"]);
// _response.ResponseMessage = Convert.ToString(dt.Rows[0]["msg"]);
// //List<CustomerListModel> obj = new List<CustomerListModel>();
// //foreach (DataRow item in dt.Rows)
// //{
// // obj.Add(new CustomerListModel
// // {
// // zipCode = Convert.ToString(item["zipCode"]),
// // city = Convert.ToString(item["city"]),
// // address = Convert.ToString(item["address1"]),
// // address2 = Convert.ToString(item["address2"]),
// // });
// //}
// //_response.CustomerListModel = obj;
// }
// }
// catch (Exception ex)
// {
// _response.ResponseCode = ResponseHelper.EXCEPTION;
// _response.ResponseMessage = "Exception occured: " + ex.Message;
// //logger.LogError("HOMEREPOSITORY | GETTRANSACTIONDETAIL | EXCEPTION | " + JsonConvert.SerializeObject(_response));
// }
// return await Task.FromResult(_response);
//}
}
}

12
CustomerOnlineV2/CustomerOnlineV2/Controllers/CustomerController.cs

@ -9,6 +9,7 @@ using Controller = Microsoft.AspNetCore.Mvc.Controller;
using CustomerOnlineV2.Common.Models.RegisterModel;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using CustomerOnlineV2.Common.Models.ReceiverModel;
namespace CustomerOnlineV2.Controllers
{
@ -91,5 +92,16 @@ namespace CustomerOnlineV2.Controllers
var loginDetails = HttpContext.GetLoginDetails();
return await _registerBusiness.GetTranCustomerById(loginDetails);
}
[HttpPost]
[Authorization("UpdateCustomer")]
public async Task<CustomerListModel> UpdateCustomer(CustomerListModel customer, string id)
{
var loginDetails = HttpContext.GetLoginDetails();
//ReceiverInformationModel _response = new ReceiverInformationModel();
var customer1 = await _registerBusiness.UpdateCustomers(customer, loginDetails.UserId);
return customer1;
}
}
}

43
CustomerOnlineV2/CustomerOnlineV2/Views/Account/ForceChangePassword.cshtml

@ -90,10 +90,12 @@
</div>
<div class="form-floating mb-3">
<input type="password" class="form-control" asp-for="NewPassword" placeholder="IMe12312@3asdfk43933" required>
<span id="password-validation" class="text-danger"></span>
<label for="floatingInput">New Password</label>
</div>
<div class="form-floating mb-3">
<input type="password" class="form-control" asp-for="ConfirmNewPassword" placeholder="IMe12312@3asdfk43933" required>
<span id="confirm-password-validation" class="text-danger"></span>
<label for="floatingInput">Confirm Password</label>
</div>
<div class="col-lg-3 mt-4">
@ -187,6 +189,47 @@
<script src="~/vendor/toast-alert/izitoast.min.js"></script>
<script src="~/js/custom.js"></script>
<script type="text/javascript">
$(document).ready(function () {
debugger;
// Select the password and confirmPassword input fields
var passwordField = $("#NewPassword");
var confirmPasswordField = $("#ConfirmNewPassword");
// Select the password and confirmPassword validation elements
var passwordValidation = $("#password-validation");
var confirmPasswordValidation = $("#confirm-password-validation");
// Password regex: Minimum 8 characters, at least one uppercase letter, one lowercase letter, and one number
var passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d@('@')$#!%*?&]{8,}$/;
// Add event handlers to the password and confirmPassword fields
passwordField.on("keyup", function () {
var password = passwordField.val();
if (passwordRegex.test(password)) {
passwordValidation.text("Valid password").css("color", "green");
} else {
passwordValidation.text("Password should contain at least one special character (*&%$), one uppercase, one lowercase and min of 8 characters").css("color", "red");
}
});
confirmPasswordField.on("keyup", function () {
var password = passwordField.val();
var confirmPassword = confirmPasswordField.val();
if (password === confirmPassword) {
confirmPasswordValidation.text("Passwords match").css("color", "green");
} else {
confirmPasswordValidation.text("Passwords do not match").css("color", "red");
}
});
})
(function () {
'use strict'
// Fetch all the forms we want to apply custom Bootstrap validation styles to

47
CustomerOnlineV2/CustomerOnlineV2/Views/Customer/CustomerProfile.cshtml

@ -124,14 +124,17 @@
@* <a href="#edit-personal-details" data-bs-toggle="modal" class="ms-auto text-2 text-uppercase btn-link">
<span class="me-1"><i class="fas fa-edit"></i></span>Edit
</a> *@
<a href="#edit-personal-details" data-bs-toggle="modal" class="ms-auto text-1 text-uppercase btn-link">
@* <a href="#edit-personal-details" data-bs-toggle="modal" class="ms-auto text-1 text-uppercase btn-link">
<span class="me-1"><i class="fas fa-edit"></i></span>Edit
</a>
</a> *@
</h3>
<hr class="mx-n4 mb-4" />
<div class="row gx-3 align-items-center">
<p class="col-sm-3 text-muted text-sm-end mb-0 mb-sm-3">ZipCode:</p>
<p class="col-sm-9 text-3" id="zipCode"></p>
<a href="#edit-personal-details" data-bs-toggle="modal" class="ms-auto text-1 text-uppercase btn-link">
<span class="me-1"><i class="fas fa-edit"></i></span>Edit
</a>
</div>
<div class="row gx-3 align-items-center">
@ -167,15 +170,15 @@
<hr />
<div class="row g-3">
<div class="col-12 col-sm-6">
@*<div class="col-12 col-sm-6">
<label for="postalCode" class="form-label">City</label>
<input type="text" class="form-control" required placeholder="City" readonly />
</div>
</div> *@
<input asp-for="customerId" hidden/>
<div class="col-12 col-sm-6">
<label for="zipCode" class="form-label">Zip Code</label>
<input asp-for="postalCode" type="text" class="form-control" required placeholder="City" />
<input asp-for="postalCode" type="text" class="form-control" required placeholder="Zip Code" />
<span class="input-group-text px-2">
<button class="btn-choose bg-transparent text-white border-0" id="btnSearch" type="button">Lookup</button>
</span>
@ -215,7 +218,7 @@
<input type="text" class="form-control" asp-for="address2" />
</div>
<div class="col-12 mt-4 d-grid"><button class="btn btn-primary" type="submit">Save Changes</button></div>
<div class="col-12 mt-4 d-grid"><button class="btn btn-primary" type="submit" onclick="UpdateAddress()">Update Changes</button></div>
</div>
</form>
</div>
@ -426,7 +429,37 @@
}
function UpdateAddress() {
debugger;
$.ajax({
url: "/Customer/UpdateCustomer",
type: "post",
anync: false,
data: {
//CustomerId: $("#customerId").val(),
zipCode: $("#postalCode").val(),
address: $("#address").val(),
address2: $("#address2").val(),
},
success: function (data) {
debugger;
if (data === 1) {
alert("Updated Successfully");
}
},
error: function (data) {
alert("Sorry Couldn't be updated");
}
}
);
}

Loading…
Cancel
Save