public async Task <bool> AddUpdateCategoryAsync(deposit_category model) { try { if (model.CategoryId > 0) { var itemToUpdate = await _dataContext.deposit_category.FindAsync(model.CategoryId); _dataContext.Entry(itemToUpdate).CurrentValues.SetValues(model); } else { await _dataContext.deposit_category.AddAsync(model); } return(await _dataContext.SaveChangesAsync() > 0); } catch (Exception ex) { throw ex; } }
public async Task <ActionResult <CategoryRegRespObj> > AddUpDateCategory([FromBody] AddUpdateCategoryObj model) { try { var user = await _identityServer.UserDataAsync(); deposit_category item = null; if (model.CategoryId > 0) { item = await _repo.GetCategoryByIdAsync(model.CategoryId); if (item == null) { return new CategoryRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Item does not Exist" } } } } ; } var domainObj = new deposit_category(); domainObj.CategoryId = model.CategoryId > 0 ? model.CategoryId : 0; domainObj.Name = model.Name; domainObj.Description = model.Description; domainObj.Active = true; domainObj.CreatedOn = DateTime.Today; domainObj.CreatedBy = user.UserName; domainObj.Deleted = false; domainObj.UpdatedOn = model.CategoryId > 0 ? DateTime.Today : DateTime.Today; domainObj.UpdatedBy = user.UserName; var isDone = await _repo.AddUpdateCategoryAsync(domainObj); return(new CategoryRegRespObj { CategoryId = domainObj.CategoryId, Status = new APIResponseStatus { IsSuccessful = isDone ? true : false, Message = new APIResponseMessage { FriendlyMessage = isDone ? "successful" : "Unsuccessful" } } }); } catch (Exception ex) { var errorCode = ErrorID.Generate(5); _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"); return(new CategoryRegRespObj { Status = new APIResponseStatus { IsSuccessful = false, Message = new APIResponseMessage { FriendlyMessage = "Error Occurred", TechnicalMessage = ex?.Message, MessageId = errorCode } } }); } }
public async Task <bool> UploadCategoryAsync(byte[] record, string createdBy) { try { if (record == null) { return(false); } List <deposit_category> uploadedRecord = new List <deposit_category>(); using (MemoryStream stream = new MemoryStream(record)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { //Use first sheet by default ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[1]; int totalRows = workSheet.Dimension.Rows; //First row is considered as the header for (int i = 2; i <= totalRows; i++) { uploadedRecord.Add(new deposit_category { Name = workSheet.Cells[i, 1].Value != null ? workSheet.Cells[i, 1].Value.ToString() : null, Description = workSheet.Cells[i, 2].Value != null ? workSheet.Cells[i, 2].Value.ToString() : null, }); } } if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { var category = _dataContext.deposit_category.Where(x => x.Name == item.Name && x.Deleted == false).FirstOrDefault(); if (category != null) { category.Name = item.Name; category.Description = item.Description; category.Active = true; category.Deleted = false; category.UpdatedBy = createdBy; category.UpdatedOn = DateTime.Now; } else { var structure = new deposit_category { Name = item.Name, Description = item.Description, Active = true, Deleted = false, CreatedBy = createdBy, CreatedOn = DateTime.Now, }; await _dataContext.deposit_category.AddAsync(structure); } } } var response = _dataContext.SaveChanges() > 0; return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }
public async Task <bool> UploadcategoryAsync(List <byte[]> record, string createdBy) { try { if (record == null) { return(false); } ExcelPackage.LicenseContext = LicenseContext.NonCommercial; List <deposit_category> uploadedRecord = new List <deposit_category>(); if (record.Count() > 0) { foreach (var byteItem in record) { using (MemoryStream stream = new MemoryStream(byteItem)) using (ExcelPackage excelPackage = new ExcelPackage(stream)) { ExcelWorksheet workSheet = excelPackage.Workbook.Worksheets[0]; int totalRows = workSheet.Dimension.Rows; for (int i = 2; i <= totalRows; i++) { var item = new deposit_category { Name = workSheet.Cells[i, 1].Value.ToString(), Description = workSheet.Cells[i, 2].Value.ToString() }; uploadedRecord.Add(item); } } } } if (uploadedRecord.Count > 0) { foreach (var item in uploadedRecord) { var categoryexist = _dataContext.deposit_category.Where(x => x.CategoryId == item.CategoryId && x.Deleted == false).FirstOrDefault(); if (categoryexist != null) { categoryexist.Name = item.Name; categoryexist.Description = item.Description; categoryexist.Active = true; categoryexist.Deleted = false; categoryexist.UpdatedBy = item.UpdatedBy; categoryexist.UpdatedOn = DateTime.Now; } else { var category = new deposit_category { Name = item.Name, Description = item.Description, Active = true, Deleted = false, CreatedBy = createdBy, CreatedOn = DateTime.Now, }; await _dataContext.deposit_category.AddAsync(category); } } } var response = _dataContext.SaveChanges() > 0; return(response); } catch (Exception ex) { throw new Exception(ex.Message); } }