private async Task <List <MasterDataValue> > ParseMasterDataExcel(IFormFile excelFile) { var masterValueList = new List <MasterDataValue>(); using (var memoryStream = new MemoryStream()) { // Get MemoryStream from Excel file await excelFile.CopyToAsync(memoryStream); // Create a ExcelPackage object from MemoryStream using (ExcelPackage package = new ExcelPackage(memoryStream)) { // Get the first Excel sheet from the Workbook ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int rowCount = worksheet.Dimension.Rows; // Iterate all the rows and create the list of MasterDataValue // Ignore first row as it is header for (int row = 2; row <= rowCount; row++) { var masterDataValue = new MasterDataValue(); masterDataValue.RowKey = Guid.NewGuid().ToString(); masterDataValue.PartitionKey = worksheet.Cells[row, 1].Value.ToString(); masterDataValue.Name = worksheet.Cells[row, 2].Value.ToString(); masterDataValue.IsActive = Boolean.Parse(worksheet.Cells[row, 3].Value.ToString()); masterValueList.Add(masterDataValue); } } } return(masterValueList); }
private async Task <List <MasterDataValue> > ParseMasterDataExcel(IFormFile excelFile) { var masterValueList = new List <MasterDataValue>(); using (var memoryStream = new MemoryStream()) { //kopiranje excel to memory await excelFile.CopyToAsync(memoryStream); //kreiranje ExcelPackage using (ExcelPackage package = new ExcelPackage(memoryStream)) { //prvi sheet var worksheet = package.Workbook.Worksheets[1]; int rowCount = worksheet.Dimension.Rows; for (int row = 2; row <= rowCount; row++) { var masterDataValue = new MasterDataValue(); masterDataValue.RowKey = Guid.NewGuid().ToString(); masterDataValue.PartitionKey = worksheet.Cells[row, 1].Text; masterDataValue.Name = worksheet.Cells[row, 2].Value.ToString(); masterDataValue.IsActive = Boolean.Parse(worksheet.Cells[row, 3].Value.ToString()); masterValueList.Add(masterDataValue); } } } return(masterValueList); }
public async Task <IActionResult> MasterValues(bool isEdit, MasterDataValueViewModel masterValue) { if (ModelState.IsValid == false) { return(Json("Error")); } MasterDataValue masterDataValue = _mapper.Map <MasterDataValue>(masterValue); var result = false; if (isEdit) { // Update Master Value result = await _masterData.UpdateMasterValueAsync(masterDataValue.PartitionKey, masterDataValue.RowKey, masterDataValue); } else { // Insert Master Value masterDataValue.RowKey = Guid.NewGuid().ToString(); result = await _masterData.InsertMasterValueAsync(masterDataValue); } //Cache redis await _masterDataCache.CreateMasterDataCacheAsync(); return(Json(result)); }
public async Task <bool> InsertMasterValueAsync(MasterDataValue value) { using (_unitOfWork) { _masterDataValueRepository.Add(value); return(await _unitOfWork.CommitTransactionAsync()); } }
public async Task <bool> InsertMasterValueAsync(MasterDataValue value) { using (_unitOfWork) { await _unitOfWork.Repository <MasterDataValue>().AddAsync(value); _unitOfWork.CommitTransaction(); return(true); } }
public async Task <bool> UpdateMasterValueAsync(string originalPartitionKey, string originalRowKey, MasterDataValue value) { using (_unitOfWork) { MasterDataValue masterValue = await _masterDataValueRepository.FindAsync(originalRowKey); masterValue.IsActive = value.IsActive; masterValue.IsDeleted = value.IsDeleted; masterValue.Name = value.Name; _masterDataValueRepository.Update(masterValue); return(await _unitOfWork.CommitTransactionAsync()); } }
public async Task <bool> UploadBulkMasterData(List <MasterDataValue> values) { using (_unitOfWork) { foreach (MasterDataValue value in values) { // Find, if null insert MasterKey List <MasterDataKey> masterKey = await GetMaserKeyByNameAsync(value.PartitionKey); if (masterKey.Count == 0) { _masterDataKeyRepository.Add(new MasterDataKey { Name = value.PartitionKey, RowKey = Guid.NewGuid().ToString(), PartitionKey = value.PartitionKey }); } // Find, if null Insert MasterValue List <MasterDataValue> masterValuesByKey = await GetAllMasterValuesByKeyAsync(value.PartitionKey); MasterDataValue masterValue = masterValuesByKey .FirstOrDefault(p => p.Name.Equals(value.Name, StringComparison.InvariantCultureIgnoreCase)); if (masterValue == null) { _masterDataValueRepository.Add(value); } else { masterValue.IsActive = value.IsActive; masterValue.IsDeleted = value.IsDeleted; masterValue.Name = value.Name; _masterDataValueRepository.Update(masterValue); } await _unitOfWork.CommitTransactionAsync(); } return(true); } }
public async Task <bool> UpdateMasterValueAsync(string originalPartitionKey, string originalRowKey, MasterDataValue value) { using (_unitOfWork) { var masterValue = await _unitOfWork.Repository <MasterDataValue>(). FindAsync(originalPartitionKey, originalRowKey); masterValue.IsActive = value.IsActive; masterValue.IsDeleted = value.IsDeleted; masterValue.Name = value.Name; await _unitOfWork.Repository <MasterDataValue>().UpdateAsync(masterValue); _unitOfWork.CommitTransaction(); return(true); } }