Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 public async Task <bool> InsertMasterValueAsync(MasterDataValue value)
 {
     using (_unitOfWork)
     {
         _masterDataValueRepository.Add(value);
         return(await _unitOfWork.CommitTransactionAsync());
     }
 }
Esempio n. 5
0
        public async Task <bool> InsertMasterValueAsync(MasterDataValue value)
        {
            using (_unitOfWork)
            {
                await _unitOfWork.Repository <MasterDataValue>().AddAsync(value);

                _unitOfWork.CommitTransaction();
                return(true);
            }
        }
Esempio n. 6
0
        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());
            }
        }
Esempio n. 7
0
        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);
            }
        }