public async Task <ResponseAC> EditPbxExcelMapping(PbxExcelMappingAC excelMappingAC, long userId, string loginUserName) { ResponseAC responeAC = new ResponseAC(); try { if (excelMappingAC.dbfieldList.Count() == 0) { responeAC.Message = "Mapping Column Is Missing"; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); return(responeAC); } MappingexcelPbx mappingexcel = new MappingexcelPbx(); mappingexcel = await _dbTeleBilling_V01Context.MappingexcelPbx.FirstOrDefaultAsync(x => x.DeviceId == excelMappingAC.DeviceId && !x.IsDelete && x.Id == excelMappingAC.Id); if (mappingexcel != null && mappingexcel.Id > 0) { #region Transaction Log Entry if (mappingexcel.TransactionId == null) { mappingexcel.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); } var jsonSerailzeObj = JsonConvert.SerializeObject(mappingexcel); await _iLogManagement.SaveRequestTraseLog(Convert.ToInt64(mappingexcel.TransactionId), userId, Convert.ToInt64(EnumList.TransactionTraseLog.UpdateRecord), jsonSerailzeObj); #endregion mappingexcel.HaveHeader = excelMappingAC.HaveHeader; mappingexcel.HaveTitle = excelMappingAC.HaveTitle; mappingexcel.TitleName = excelMappingAC.TitleName; mappingexcel.WorkSheetNo = Convert.ToInt64(excelMappingAC.WorkSheetNo); mappingexcel.ExcelColumnNameForTitle = string.IsNullOrEmpty(excelMappingAC.ExcelColumnNameForTitle) ? "" : excelMappingAC.ExcelColumnNameForTitle; mappingexcel.ExcelReadingColumn = string.IsNullOrEmpty(excelMappingAC.ExcelReadingColumn) ? "0" : excelMappingAC.ExcelReadingColumn; mappingexcel.UpdatedBy = userId; mappingexcel.UpdatedDate = DateTime.Now; _dbTeleBilling_V01Context.Update(mappingexcel); await _dbTeleBilling_V01Context.SaveChangesAsync(); responeAC.Message = _iStringConstant.ExcelMappingUpdatedSuccessfully; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.EditPbxExcelMapping, loginUserName, userId, "PBX Excel mapping", (int)EnumList.ActionTemplateTypes.Edit, mappingexcel.Id); if (mappingexcel.Id > 0) { #region --> Update Mapping column Details if (excelMappingAC.dbfieldList.Count() > 0) { #region --> remove old Mapping List <MappingexcelcolumnPbx> excelcolumnlst = new List <MappingexcelcolumnPbx>(); excelcolumnlst = await _dbTeleBilling_V01Context.MappingexcelcolumnPbx.Where(x => x.MappingExcelId == mappingexcel.Id).ToListAsync(); if (excelcolumnlst != null) { if (excelcolumnlst.Count() > 0) { _dbTeleBilling_V01Context.RemoveRange(excelcolumnlst); await _dbTeleBilling_V01Context.SaveChangesAsync(); } } #endregion List <MappingexcelcolumnPbx> mappingExcelColumnslst = new List <MappingexcelcolumnPbx>(); foreach (var item in excelMappingAC.dbfieldList) { if (!string.IsNullOrEmpty(item.ColumnAddress)) { MappingexcelcolumnPbx excelColumn = new MappingexcelcolumnPbx(); excelColumn.MappingExcelId = mappingexcel.Id; excelColumn.MappingServiceTypeFieldId = item.Id; excelColumn.ExcelcolumnName = item.ColumnAddress; excelColumn.FormatField = item.FormatField; mappingExcelColumnslst.Add(excelColumn); } } await _dbTeleBilling_V01Context.AddRangeAsync(mappingExcelColumnslst); await _dbTeleBilling_V01Context.SaveChangesAsync(); responeAC.Message = _iStringConstant.ExcelMappingUpdatedSuccessfully; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); } #endregion } } else { responeAC.Message = _iStringConstant.DataFound; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); } return(responeAC); } catch (Exception e) { responeAC.Message = e.Message.ToString(); responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); return(responeAC); } }
public async Task <ResponseAC> AddPbxExcelMapping(PbxExcelMappingAC excelMappingAC, long userId, string loginUserName) { ResponseAC responeAC = new ResponseAC(); try { if (excelMappingAC.dbfieldList.Count() == 0) { responeAC.Message = "Mapping Column Is Missing"; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); return(responeAC); } if (!await _dbTeleBilling_V01Context.MappingexcelPbx.AnyAsync(x => x.DeviceId == excelMappingAC.DeviceId && !x.IsDelete)) { var deviceData = await _dbTeleBilling_V01Context.FixDevice.FirstOrDefaultAsync(x => x.Id == excelMappingAC.DeviceId); MappingexcelPbx mappingexcel = new MappingexcelPbx(); mappingexcel.Id = 0; mappingexcel.IsActive = true; mappingexcel.DeviceId = excelMappingAC.DeviceId; mappingexcel.CurrencyId = Convert.ToInt32(EnumList.CurrencyType.USD); // as per current files its given in $ mappingexcel.HaveHeader = excelMappingAC.HaveHeader; mappingexcel.HaveTitle = excelMappingAC.HaveTitle; mappingexcel.TitleName = excelMappingAC.TitleName; mappingexcel.WorkSheetNo = Convert.ToInt64(excelMappingAC.WorkSheetNo); mappingexcel.ExcelColumnNameForTitle = string.IsNullOrEmpty(excelMappingAC.ExcelColumnNameForTitle) ? "" : excelMappingAC.ExcelColumnNameForTitle; mappingexcel.ExcelReadingColumn = string.IsNullOrEmpty(excelMappingAC.ExcelReadingColumn) ? "0" : excelMappingAC.ExcelReadingColumn; mappingexcel.CreatedBy = userId; mappingexcel.CreatedDate = DateTime.Now; mappingexcel.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); await _dbTeleBilling_V01Context.AddAsync(mappingexcel); await _dbTeleBilling_V01Context.SaveChangesAsync(); responeAC.Message = _iStringConstant.ExcelMappingAddedSuccessfully; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.AddPbxExcelMapping, loginUserName, userId, "PBX Excel mapping", (int)EnumList.ActionTemplateTypes.Add, mappingexcel.Id); if (mappingexcel.Id > 0) { #region --> ADD Mapping column Details if (excelMappingAC.dbfieldList.Count() > 0) { List <MappingexcelcolumnPbx> mappingExcelColumnslst = new List <MappingexcelcolumnPbx>(); foreach (var item in excelMappingAC.dbfieldList) { if (!string.IsNullOrEmpty(item.ColumnAddress)) { MappingexcelcolumnPbx excelColumn = new MappingexcelcolumnPbx(); excelColumn.MappingExcelId = mappingexcel.Id; excelColumn.MappingServiceTypeFieldId = item.Id; excelColumn.ExcelcolumnName = item.ColumnAddress; excelColumn.FormatField = item.FormatField; mappingExcelColumnslst.Add(excelColumn); } } await _dbTeleBilling_V01Context.AddRangeAsync(mappingExcelColumnslst); await _dbTeleBilling_V01Context.SaveChangesAsync(); responeAC.Message = _iStringConstant.ExcelMappingAddedSuccessfully; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); } #endregion } } else { responeAC.Message = _iStringConstant.ExcelMappingExists; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); } return(responeAC); } catch (Exception e) { responeAC.Message = e.Message.ToString(); responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); return(responeAC); } }