public async Task <CommonLookupRespObj> Handle(GetCurrencyRateQuery request, CancellationToken cancellationToken) { var lookUp = await _repo.GetCurrencyRateAsync(request.CurrencyRateId); var respItemList = new List <CommonLookupsObj>(); if (lookUp != null) { var item = new CommonLookupsObj { LookupId = lookUp.CurrencyRateId, BuyingRate = (double)lookUp.BuyingRate, ParentId = lookUp.CurrencyId, Code = lookUp.CurrencyCode, Date = lookUp.Date, SellingRate = (double)lookUp.SellingRate, }; respItemList.Add(item); } return(new CommonLookupRespObj { CommonLookups = respItemList, Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage { FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found" } } }); }
public async Task <CommonLookupRespObj> Handle(GetJobTitleQuery request, CancellationToken cancellationToken) { var lookUp = await _repo.GetJobTitlAsync(request.JobTitleId); var respItemList = new List <CommonLookupsObj>(); if (lookUp != null) { var item = new CommonLookupsObj { LookupId = lookUp.JobTitleId, LookupName = lookUp.Name, Description = lookUp.JobDescription, Skills = lookUp.Skills, SkillDescription = lookUp.SkillDescription }; respItemList.Add(item); } return(new CommonLookupRespObj { CommonLookups = respItemList, Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage { FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found" } } }); }
public async Task <CommonLookupRespObj> Handle(GetCountryQuery request, CancellationToken cancellationToken) { var lookUp = await _repo.GetCountryAsync(request.CountryId); var respItemList = new List <CommonLookupsObj>(); if (lookUp != null) { var item = new CommonLookupsObj { LookupId = lookUp.CountryId, Code = lookUp.CountryCode, LookupName = lookUp.CountryName, }; respItemList.Add(item); } return(new CommonLookupRespObj { CommonLookups = respItemList, Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage { FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found" } } }); }
public async Task <CommonLookupRespObj> Handle(GetCreditBureauQuery request, CancellationToken cancellationToken) { var lookUp = await _repo.GetCreditBureauAsync(request.CreditBureauId); var respItemList = new List <CommonLookupsObj>(); if (lookUp != null) { var item = new CommonLookupsObj { LookupId = lookUp.CreditBureauId, LookupName = lookUp.CreditBureauName, CorporateChargeAmount = lookUp.CorporateChargeAmount, IndividualChargeAmount = lookUp.IndividualChargeAmount, GLAccountId = lookUp.GLAccountId, IsMandatory = lookUp.IsMandatory }; respItemList.Add(item); } return(new CommonLookupRespObj { CommonLookups = respItemList, Status = new APIResponseStatus { IsSuccessful = true, Message = new APIResponseMessage { FriendlyMessage = lookUp == null ? null : "Search Complete! No Record found" } } }); }
public async Task <byte[]> Handle(DownloadCurrencyQuery request, CancellationToken cancellationToken) { try { byte[] File = new byte[0]; var _DomainList = await _repo.GetAllCurrencyAsync(); var _StateList = await _repo.GetAllStateAsync(); DataTable dt = new DataTable(); dt.Columns.Add("Currency Code"); dt.Columns.Add("Currency Name"); dt.Columns.Add("Base Currency"); dt.Columns.Add("In Use"); var _ContractList = new List <CommonLookupsObj>(); foreach (var item in _DomainList) { var res = new CommonLookupsObj(); res.Code = item.CurrencyCode != null ? item?.CurrencyCode : " "; res.LookupName = item.CurrencyName != null ? item?.CurrencyName : " "; res.BaseCurrency = item.BaseCurrency != null?(bool)item.BaseCurrency : false; res.Active = item.INUSE; _ContractList.Add(res); } if (_ContractList.Count() > 0) { foreach (var itemRow in _ContractList) { var row = dt.NewRow(); row["Currency Code"] = itemRow.Code; row["Currency Name"] = itemRow.LookupName; row["Base Currency"] = itemRow.BaseCurrency; row["In Use"] = itemRow.Active; dt.Rows.Add(row); } if (_ContractList != null) { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using (ExcelPackage pck = new ExcelPackage()) { ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Currencies"); ws.DefaultColWidth = 20; ws.Cells["A1"].LoadFromDataTable(dt, true, OfficeOpenXml.Table.TableStyles.None); File = pck.GetAsByteArray(); } } } return(File); } catch (Exception ex) { throw ex; } }
public async Task <FileUploadRespObj> Handle(UploadCityCommand request, CancellationToken cancellationToken) { try { var apiResponse = new FileUploadRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; var files = _accessor.HttpContext.Request.Form.Files; var byteList = new List <byte[]>(); foreach (var fileBit in files) { if (fileBit.Length > 0) { using (var ms = new MemoryStream()) { await fileBit.CopyToAsync(ms); byteList.Add(ms.ToArray()); } } } var uploadedRecord = new List <CommonLookupsObj>(); ExcelPackage.LicenseContext = LicenseContext.NonCommercial; if (byteList.Count() > 0) { foreach (var byteItem in byteList) { using (MemoryStream stream = new MemoryStream(byteItem)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0]; int totalRows = workSheet.Dimension.Rows; int totatlColumns = workSheet.Dimension.Columns; if (totatlColumns != 3) { apiResponse.Status.Message.FriendlyMessage = "Three (3) Columns Expected"; return(apiResponse); } for (int i = 2; i <= totalRows; i++) { var lkp = new CommonLookupsObj { ExcelLineNumber = i, Code = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty, LookupName = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty, ParentName = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty, }; uploadedRecord.Add(lkp); } } } } var _CityList = await _repo.GetAllCityAsync(); var _State = await _repo.GetAllStateAsync(); if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { if (string.IsNullOrEmpty(item.Code)) { apiResponse.Status.Message.FriendlyMessage = $"City Code can not be empty on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.LookupName)) { apiResponse.Status.Message.FriendlyMessage = $"City Name can not be empty on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.ParentName)) { apiResponse.Status.Message.FriendlyMessage = $"State Name can not be empty on line {item.ExcelLineNumber}"; return(apiResponse); } else { var state = _State.FirstOrDefault(d => d.StateCode.Trim().ToLower() == item.ParentName.Trim().ToLower()); if (state == null) { apiResponse.Status.Message.FriendlyMessage = $"State name unidentified on line {item.ExcelLineNumber}"; return(apiResponse); } item.ParentId = state.StateId; } var currentCity = _CityList.FirstOrDefault(c => c.CityCode.ToLower() == item.Code.ToLower() && c.Deleted == false); if (currentCity == null) { var City = new cor_city(); City.CityName = item.LookupName; City.StateId = item.ParentId; City.CityCode = item.Code; await _repo.AddUpdateCityAsync(City); } else { currentCity.CityName = item.LookupName; currentCity.StateId = item.ParentId; currentCity.CityCode = item.Code; await _repo.AddUpdateCityAsync(currentCity); } } } apiResponse.Status.IsSuccessful = true; apiResponse.Status.Message.FriendlyMessage = "Successful"; return(apiResponse); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <FileUploadRespObj> Handle(UploadDocumentTypeCommand request, CancellationToken cancellationToken) { try { var apiResponse = new FileUploadRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; var files = _accessor.HttpContext.Request.Form.Files; var byteList = new List <byte[]>(); foreach (var fileBit in files) { if (fileBit.Length > 0) { using (var ms = new MemoryStream()) { await fileBit.CopyToAsync(ms); byteList.Add(ms.ToArray()); } } } var uploadedRecord = new List <CommonLookupsObj>(); ExcelPackage.LicenseContext = LicenseContext.NonCommercial; if (byteList.Count() > 0) { foreach (var byteItem in byteList) { using (MemoryStream stream = new MemoryStream(byteItem)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //Use first sheet by default ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0]; int totalRows = workSheet.Dimension.Rows; int totalColumns = workSheet.Dimension.Columns; if (totalColumns != 1) { apiResponse.Status.Message.FriendlyMessage = $"One (1) Column Expected"; return(apiResponse); } //First row is considered as the header for (int i = 2; i <= totalRows; i++) { var lkp = new CommonLookupsObj { ExcelLineNumber = i, LookupName = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty, }; uploadedRecord.Add(lkp); } } } } var _DocumentTypeList = await _repo.GetAllDocumentTypeAsync(); if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { if (string.IsNullOrEmpty(item.LookupName)) { apiResponse.Status.Message.FriendlyMessage = $"Document type name can not be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } var currentDocumentType = _DocumentTypeList.FirstOrDefault(c => c.Name.ToLower() == item.LookupName.ToLower() && c.Deleted == false); if (currentDocumentType == null) { var DocumentType = new credit_documenttype(); DocumentType.Name = item.LookupName; await _repo.AddUpdateDocumentTypeAsync(DocumentType); } else { currentDocumentType.Name = item.LookupName; await _repo.AddUpdateDocumentTypeAsync(currentDocumentType); } } } apiResponse.Status.IsSuccessful = true; apiResponse.Status.Message.FriendlyMessage = "Successful"; return(apiResponse); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <FileUploadRespObj> Handle(UploadJobTitleCommand request, CancellationToken cancellationToken) { try { var apiResponse = new FileUploadRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; var files = _accessor.HttpContext.Request.Form.Files; var byteList = new List <byte[]>(); foreach (var fileBit in files) { if (fileBit.Length > 0) { using (var ms = new MemoryStream()) { await fileBit.CopyToAsync(ms); byteList.Add(ms.ToArray()); } } } var userId = _accessor.HttpContext.User?.FindFirst(x => x.Type == "userId").Value; var user = await _userManager.FindByIdAsync(userId); var _JobTitle = await _repo.GetAllJobTitleAsync(); var _State = await _repo.GetAllStateAsync(); var uploadedRecord = new List <CommonLookupsObj>(); ExcelPackage.LicenseContext = LicenseContext.NonCommercial; if (byteList.Count() > 0) { foreach (var byteItem in byteList) { using (MemoryStream stream = new MemoryStream(byteItem)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //Use first sheet by default ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0]; int totalRows = workSheet.Dimension.Rows; //First row is considered as the header int totalColumns = workSheet.Dimension.Columns; if (totalColumns != 4) { apiResponse.Status.Message.FriendlyMessage = $"Four (4) Columns Expected"; return(apiResponse); } for (int i = 2; i <= totalRows; i++) { var lkp = new CommonLookupsObj { ExcelLineNumber = i, LookupName = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty, Description = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty, Skills = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty, SkillDescription = workSheet.Cells[i, 4]?.Value != null ? workSheet.Cells[i, 4]?.Value.ToString() : string.Empty, }; uploadedRecord.Add(lkp); } } } } var _JobTitleList = await _repo.GetAllJobTitleAsync(); if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { if (string.IsNullOrEmpty(item.LookupName)) { apiResponse.Status.Message.FriendlyMessage = $"Job Title Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.Description)) { apiResponse.Status.Message.FriendlyMessage = $"Description Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.Skills)) { apiResponse.Status.Message.FriendlyMessage = $"Skills Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.SkillDescription)) { apiResponse.Status.Message.FriendlyMessage = $"Skill Description Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } var currentJobTitle = _JobTitleList.FirstOrDefault(c => c.Name.ToLower() == item.LookupName.ToLower() && c.Deleted == false); if (currentJobTitle == null) { var JobTitle = new cor_jobtitles(); JobTitle.Name = item.LookupName; JobTitle.JobDescription = item.Description; JobTitle.Skills = item.Skills; JobTitle.SkillDescription = item.SkillDescription; await _repo.AddUpdateJobTitleAsync(JobTitle); } else { currentJobTitle.Name = item.LookupName; currentJobTitle.JobDescription = item.Description; currentJobTitle.Skills = item.Skills; currentJobTitle.SkillDescription = item.SkillDescription; await _repo.AddUpdateJobTitleAsync(currentJobTitle); } } } apiResponse.Status.IsSuccessful = true; apiResponse.Status.Message.FriendlyMessage = "Successful"; return(apiResponse); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <FileUploadRespObj> Handle(UploadCurrencyCommand request, CancellationToken cancellationToken) { try { var apiResponse = new FileUploadRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage() } }; var files = _accessor.HttpContext.Request.Form.Files; var byteList = new List <byte[]>(); foreach (var fileBit in files) { if (fileBit.Length > 0) { using (var ms = new MemoryStream()) { await fileBit.CopyToAsync(ms); byteList.Add(ms.ToArray()); } } } var uploadedRecord = new List <CommonLookupsObj>(); ExcelPackage.LicenseContext = LicenseContext.NonCommercial; if (byteList.Count() > 0) { foreach (var byteItem in byteList) { using (MemoryStream stream = new MemoryStream(byteItem)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //Use first sheet by default ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0]; int totalRows = workSheet.Dimension.Rows; int totalColumns = workSheet.Dimension.Columns; if (totalColumns != 4) { apiResponse.Status.Message.FriendlyMessage = $"Four (4) Columns Expected"; return(apiResponse); } //First row is considered as the header for (int i = 2; i <= totalRows; i++) { var lkp = new CommonLookupsObj { ExcelLineNumber = i, Code = workSheet.Cells[i, 1]?.Value != null ? workSheet.Cells[i, 1]?.Value.ToString() : string.Empty, LookupName = workSheet.Cells[i, 2]?.Value != null ? workSheet.Cells[i, 2]?.Value.ToString() : string.Empty, ParentName = workSheet.Cells[i, 3]?.Value != null ? workSheet.Cells[i, 3]?.Value.ToString() : string.Empty, Description = workSheet.Cells[i, 4]?.Value != null ? workSheet.Cells[i, 4]?.Value.ToString() : string.Empty, }; uploadedRecord.Add(lkp); } } } } var _CurrencyList = await _repo.GetAllCurrencyAsync(); if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { if (string.IsNullOrEmpty(item.Code)) { apiResponse.Status.Message.FriendlyMessage = $"Currency Code can not be empty on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.LookupName)) { apiResponse.Status.Message.FriendlyMessage = $"Currency Name can not be empty on line {item.ExcelLineNumber}"; return(apiResponse); } if (string.IsNullOrEmpty(item.ParentName)) { apiResponse.Status.Message.FriendlyMessage = $"Base currency Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } else { if (!Convert.ToBoolean(item.ParentName) && Convert.ToBoolean(item.ParentName)) { apiResponse.Status.Message.FriendlyMessage = $"Invalid Base currency detected on line {item.ExcelLineNumber}"; return(apiResponse); } item.BaseCurrency = Convert.ToBoolean(item.ParentName); } if (string.IsNullOrEmpty(item.Description)) { apiResponse.Status.Message.FriendlyMessage = $"In Use Cannot be empty detected on line {item.ExcelLineNumber}"; return(apiResponse); } else { if (!Convert.ToBoolean(item.Description) && Convert.ToBoolean(item.Description)) { apiResponse.Status.Message.FriendlyMessage = $"Invalid In Use value detected on line {item.ExcelLineNumber}"; return(apiResponse); } item.Active = Convert.ToBoolean(item.Description); } var currentCurrency = _CurrencyList.FirstOrDefault(c => c.CurrencyCode.ToLower() == item.Code.ToLower() && c.Deleted == false); if (currentCurrency == null) { var Currency = new cor_currency(); Currency.CurrencyName = item.LookupName; Currency.CurrencyCode = item.Code; Currency.INUSE = item.Active; Currency.BaseCurrency = item.BaseCurrency; await _repo.AddUpdateCurrencyAsync(Currency); } else { currentCurrency.CurrencyName = item.LookupName; currentCurrency.CurrencyCode = item.Code; currentCurrency.INUSE = item.Active; currentCurrency.BaseCurrency = item.BaseCurrency; await _repo.AddUpdateCurrencyAsync(currentCurrency); } } } apiResponse.Status.IsSuccessful = true; apiResponse.Status.Message.FriendlyMessage = "Successful"; return(apiResponse); } catch (Exception ex) { throw new Exception(ex.Message); } }