public async Task <ResponseAC> AddProvider(long userId, ProviderAC providerAC, string loginUserName) { ResponseAC responeAC = new ResponseAC(); if (!await _dbTeleBilling_V01Context.Provider.AnyAsync(x => x.ContractNumber.ToLower() == providerAC.ContractNumber.ToLower() && !x.IsDelete)) { TeleBillingUtility.Models.Provider provider = new TeleBillingUtility.Models.Provider(); provider = _mapper.Map <TeleBillingUtility.Models.Provider>(providerAC); provider.IsActive = true; provider.CreatedDate = DateTime.Now; provider.CreatedBy = userId; provider.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); await _dbTeleBilling_V01Context.AddAsync(provider); await _dbTeleBilling_V01Context.SaveChangesAsync(); foreach (var serviceType in providerAC.ServiceTypes) { Providerservice providerService = new Providerservice(); providerService.ProviderId = provider.Id; providerService.ServiceTypeId = serviceType.Id; await _dbTeleBilling_V01Context.AddAsync(providerService); await _dbTeleBilling_V01Context.SaveChangesAsync(); } #region Added Provider Contact Detail List <Providercontactdetail> providerContactDetails = new List <Providercontactdetail>(); foreach (var item in providerAC.ProviderContactDetailACList) { Providercontactdetail providerContectDatail = new Providercontactdetail(); providerContectDatail = _mapper.Map <Providercontactdetail>(item); providerContectDatail.ProviderId = provider.Id; providerContactDetails.Add(providerContectDatail); } await _dbTeleBilling_V01Context.AddRangeAsync(providerContactDetails); await _dbTeleBilling_V01Context.SaveChangesAsync(); #endregion await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.AddProvider, loginUserName, userId, "Provider(" + provider.Name + ")", (int)EnumList.ActionTemplateTypes.Add, provider.Id); responeAC.Message = _iStringConstant.ProviderAddedSuccessfully; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); } else { responeAC.Message = _iStringConstant.ContractNumberExists; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); } return(responeAC); }
/// <summary> /// Insert the notification list /// </summary> /// <param name="notificationlogList"></param> /// <returns></returns> public async Task <bool> SaveNotificationList(List <Notificationlog> notificationlogList) { await _dbTeleBilling_V01Context.AddRangeAsync(notificationlogList); await _dbTeleBilling_V01Context.SaveChangesAsync(); return(true); }
public async Task <ResponseAC> AddAssignedTelephone(long userId, AssignTelephoneDetailAC assignTelephoneDetailAC, string loginUserName) { ResponseAC responseAC = new ResponseAC(); try { Telephonenumberallocation telephoneNumberAllocation = _mapper.Map <Telephonenumberallocation>(assignTelephoneDetailAC); telephoneNumberAllocation.CreatedBy = userId; telephoneNumberAllocation.CreatedDate = DateTime.Now; telephoneNumberAllocation.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); telephoneNumberAllocation.IsActive = true; await _dbTeleBilling_V01Context.AddAsync(telephoneNumberAllocation); await _dbTeleBilling_V01Context.SaveChangesAsync(); List <Telephonenumberallocationpackage> telePhoneNumberAllocationPackages = new List <Telephonenumberallocationpackage>(); foreach (var item in assignTelephoneDetailAC.TelePhonePackageDetails) { Telephonenumberallocationpackage telePhoneNumberAllocationPackage = new Telephonenumberallocationpackage(); telePhoneNumberAllocationPackage.PackageId = item.PackageId; telePhoneNumberAllocationPackage.ServiceId = item.ServiceId; telePhoneNumberAllocationPackage.StartDate = item.StartDate.AddDays(1); telePhoneNumberAllocationPackage.EndDate = item.EndDate.AddDays(1); telePhoneNumberAllocationPackage.TelephoneNumberAllocationId = telephoneNumberAllocation.Id; telePhoneNumberAllocationPackages.Add(telePhoneNumberAllocationPackage); } await _dbTeleBilling_V01Context.AddRangeAsync(telePhoneNumberAllocationPackages); await _dbTeleBilling_V01Context.SaveChangesAsync(); await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.AssignTelephone, loginUserName, userId, "Assign Telephone(" + telephoneNumberAllocation.TelephoneNumber + ")", (int)EnumList.ActionTemplateTypes.Assign, telephoneNumberAllocation.Id); responseAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); responseAC.Message = _iStringConstant.TelephoneAssignedSuccessfully; } catch (Exception ex) { throw ex; } return(responseAC); }
public async Task <BulkAssignTelephoneResponseAC> BulkUploadOperatorCallLog(long userId, ExcelUploadResponseAC exceluploadDetail, string loginUserName) { BulkAssignTelephoneResponseAC bulkAssignTelephoneResponseAC = new BulkAssignTelephoneResponseAC(); List <ExcelUploadResult> excelUploadResultList = new List <ExcelUploadResult>(); List <Operatorcalllog> operatorCallLogList = new List <Operatorcalllog>(); FileInfo fileinfo = new FileInfo(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); try { using (ExcelPackage package = new ExcelPackage(fileinfo)) { for (int i = 1; i <= package.Workbook.Worksheets.Count(); i++) { ExcelWorksheet workSheet = package.Workbook.Worksheets[i]; if (workSheet != null) { string sheetName = workSheet.Name; int totalRows = workSheet.Dimension.Rows; int totalColums = workSheet.Dimension.Columns; for (int j = 1; j <= totalRows - 1; j++) { Operatorcalllog operatorCallLog = new Operatorcalllog(); bulkAssignTelephoneResponseAC.TotalRecords += 1; string callDate = workSheet.Cells[j + 1, 1].Value != null ? workSheet.Cells[j + 1, 1].Value.ToString() : string.Empty; if (!string.IsNullOrEmpty(callDate)) { DateTime newCallDate; if (DateTime.TryParse(callDate, out newCallDate)) { String.Format("{0:d/MM/yyyy}", newCallDate); string pfNumber = workSheet.Cells[j + 1, 2].Value != null ? workSheet.Cells[j + 1, 2].Value.ToString() : string.Empty; pfNumber = !string.IsNullOrEmpty(pfNumber) ? pfNumber.ToLower().Trim() : string.Empty; MstEmployee mstEmployee = await _dbTeleBilling_V01Context.MstEmployee.FirstOrDefaultAsync(x => x.IsActive && !x.IsDelete && x.EmpPfnumber.ToLower().Trim() == pfNumber); if (mstEmployee != null) { string telephoneNumber = workSheet.Cells[j + 1, 3].Value != null ? workSheet.Cells[j + 1, 3].Value.ToString() : string.Empty; if (!string.IsNullOrEmpty(telephoneNumber)) { if (telephoneNumber.Length < 50) { string provider = workSheet.Cells[j + 1, 4].Value != null ? workSheet.Cells[j + 1, 4].Value.ToString() : string.Empty; provider = !string.IsNullOrEmpty(provider) ? provider.ToLower().Trim() : string.Empty; TeleBillingUtility.Models.Provider providerObj = await _dbTeleBilling_V01Context.Provider.FirstOrDefaultAsync(x => x.IsActive && !x.IsDelete && x.Name.ToLower().Trim() == provider); if (providerObj != null) { string callType = workSheet.Cells[j + 1, 5].Value != null ? workSheet.Cells[j + 1, 5].Value.ToString() : string.Empty; callType = !string.IsNullOrEmpty(callType) ? callType.ToLower().Trim() : string.Empty; FixCalltype callTypeObj = await _dbTeleBilling_V01Context.FixCalltype.FirstOrDefaultAsync(x => x.IsActive && x.Name.ToLower().Trim() == callType); if (callTypeObj != null) { operatorCallLog.CallDate = newCallDate; operatorCallLog.CallTypeId = callTypeObj.Id; operatorCallLog.ProviderId = providerObj.Id; operatorCallLog.EmployeeId = mstEmployee.UserId; operatorCallLog.EmpPfnumber = mstEmployee.EmpPfnumber; operatorCallLog.ExtensionNumber = mstEmployee.ExtensionNumber; operatorCallLog.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); operatorCallLog.DialedNumber = telephoneNumber; operatorCallLog.CreatedBy = userId; operatorCallLog.CreatedDate = DateTime.Now; operatorCallLogList.Add(operatorCallLog); bulkAssignTelephoneResponseAC.SuccessRecords += 1; } else { //Call Type Not Exists bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(4, j, callType, _iStringConstant.CallTypeNotExists, sheetName, excelUploadResultList); } } else { //Provider Not Exists bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(4, j, provider, _iStringConstant.ProviderNotExists, sheetName, excelUploadResultList); } } else { //Telephone Number length bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(3, j, telephoneNumber, _iStringConstant.TelePhoneNumberMaxLength, sheetName, excelUploadResultList); } } else { //Telephone number is empty bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(3, j, telephoneNumber, _iStringConstant.TelePhoneNumberIsEmpty, sheetName, excelUploadResultList); } } else { //Employee Not Exists bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(2, j, pfNumber, _iStringConstant.EmployeeNotExists, sheetName, excelUploadResultList); } } else { //Start Date Not Valid bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(1, j + 1, callDate, _iStringConstant.CallDateNotValid, sheetName, excelUploadResultList); } } else { //Call Date Is Empty bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(1, j, callDate, _iStringConstant.CallDateIsEmpty, sheetName, excelUploadResultList); } } } } } if (File.Exists(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid))) { File.Delete(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); } if (operatorCallLogList.Any()) { await _dbTeleBilling_V01Context.AddRangeAsync(operatorCallLogList); await _dbTeleBilling_V01Context.SaveChangesAsync(); await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.BulkUploadOperatorCallLog, loginUserName, userId, "Bulk Operator call log", (int)EnumList.ActionTemplateTypes.Upload, null); } bulkAssignTelephoneResponseAC.excelUploadResultList = excelUploadResultList; return(bulkAssignTelephoneResponseAC); } catch (Exception ex) { if (File.Exists(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid))) { File.Delete(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); } throw ex; } }
public async Task <BulkAssignTelephoneResponseAC> BulkUploadProviderWiseTrans(long userId, ExcelUploadResponseAC exceluploadDetail, long providerId, string loginUserName) { BulkAssignTelephoneResponseAC bulkAssignTelephoneResponseAC = new BulkAssignTelephoneResponseAC(); List <ExcelUploadResult> excelUploadResultList = new List <ExcelUploadResult>(); List <Transactiontypesetting> transactionTypeSettingList = new List <Transactiontypesetting>(); FileInfo fileinfo = new FileInfo(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); try { using (ExcelPackage package = new ExcelPackage(fileinfo)) { for (int i = 1; i <= package.Workbook.Worksheets.Count(); i++) { ExcelWorksheet workSheet = package.Workbook.Worksheets[i]; string sheetName = package.Workbook.Worksheets[i].Name; int totalRows = workSheet.Dimension.Rows; int totalColums = workSheet.Dimension.Columns; for (int j = 1; j <= totalRows - 1; j++) { Transactiontypesetting transactionTypeSetting = new Transactiontypesetting(); bulkAssignTelephoneResponseAC.TotalRecords += 1; string transactionType = workSheet.Cells[j + 1, 1].Value != null ? workSheet.Cells[j + 1, 1].Value.ToString() : string.Empty; if (!string.IsNullOrEmpty(transactionType)) { if (!await _dbTeleBilling_V01Context.Transactiontypesetting.AnyAsync(x => x.ProviderId == providerId && !x.IsDelete && x.TransactionType.ToLower().Trim() == transactionType.ToLower().Trim())) { transactionTypeSetting.ProviderId = providerId; transactionTypeSetting.TransactionType = transactionType.Trim(); transactionTypeSetting.CreatedBy = userId; transactionTypeSetting.CreatedDate = DateTime.Now; transactionTypeSetting.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); bulkAssignTelephoneResponseAC.SuccessRecords += 1; transactionTypeSettingList.Add(transactionTypeSetting); } else { //PhoneNumber Not Exists bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(1, j + 1, transactionType, _iStringConstant.ProviderWiseTransactionTypeAlreadyExists, sheetName, excelUploadResultList); } } else { //PhoneNumber Not Exists bulkAssignTelephoneResponseAC.SkipRecords += 1; excelUploadResultList = AddedFileDataResponse(1, j + 1, transactionType, _iStringConstant.TransactionTypeIsEmpty, sheetName, excelUploadResultList); } } } } if (File.Exists(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid))) { File.Delete(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); } if (transactionTypeSettingList.Any()) { await _dbTeleBilling_V01Context.AddRangeAsync(transactionTypeSettingList); await _dbTeleBilling_V01Context.SaveChangesAsync(); await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.BulkUploadTransactionType, loginUserName, userId, "Provider wise transaction", (int)EnumList.ActionTemplateTypes.Upload, null); } bulkAssignTelephoneResponseAC.excelUploadResultList = excelUploadResultList; return(bulkAssignTelephoneResponseAC); } catch (Exception ex) { if (File.Exists(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid))) { File.Delete(Path.Combine(exceluploadDetail.FilePath, exceluploadDetail.FileNameGuid)); } throw ex; } }
public async Task <ResponseAC> AddExcelMapping(ExcelMappingAC 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 (excelMappingAC != null) { bool IsExistsServices = false; IsExistsServices = await checkExcelMappingExistsForServices(excelMappingAC); if (IsExistsServices) { responeAC.Message = "excel mapping is already exists"; responeAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Error); return(responeAC); } } if ((await _dbTeleBilling_V01Context.Mappingexcel.FirstOrDefaultAsync(x => x.ProviderId == excelMappingAC.ProviderId && x.ServiceTypeId == excelMappingAC.ServiceTypeId && !x.IsDelete)) == null) { var providerData = await _dbTeleBilling_V01Context.Provider.FirstOrDefaultAsync(x => x.Id == excelMappingAC.ProviderId); Mappingexcel mappingexcel = new Mappingexcel(); mappingexcel.Id = 0; mappingexcel.IsActive = true; mappingexcel.ProviderId = excelMappingAC.ProviderId; mappingexcel.CurrencyId = providerData.CurrencyId; mappingexcel.ServiceTypeId = excelMappingAC.ServiceTypeId; 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.IsCommonMapped = false; mappingexcel.MappedMappingId = 0; mappingexcel.MappedServiceTypeId = 0; mappingexcel.IsDelete = false; 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.AddExcelMapping, loginUserName, userId, "Excel mapping", (int)EnumList.ActionTemplateTypes.Add, mappingexcel.Id); if (mappingexcel.Id > 0) { #region ---> Add Common Servive if exists foreach (var serviceType in excelMappingAC.ServiceTypeIdInline) { Mappingexcel mappingexcelCommon = new Mappingexcel(); mappingexcelCommon.Id = 0; mappingexcelCommon.IsActive = true; mappingexcelCommon.ProviderId = excelMappingAC.ProviderId; mappingexcelCommon.CurrencyId = providerData.CurrencyId; mappingexcelCommon.ServiceTypeId = serviceType.Id; mappingexcelCommon.HaveHeader = excelMappingAC.HaveHeader; mappingexcelCommon.HaveTitle = excelMappingAC.HaveTitle; mappingexcelCommon.TitleName = excelMappingAC.TitleName; mappingexcelCommon.WorkSheetNo = Convert.ToInt64(excelMappingAC.WorkSheetNo); mappingexcelCommon.ExcelColumnNameForTitle = excelMappingAC.ExcelColumnNameForTitle; mappingexcelCommon.ExcelReadingColumn = string.IsNullOrEmpty(excelMappingAC.ExcelReadingColumn) ? "" : excelMappingAC.ExcelReadingColumn; mappingexcelCommon.CreatedBy = userId; mappingexcelCommon.CreatedDate = DateTime.Now; mappingexcelCommon.TransactionId = mappingexcel.TransactionId; mappingexcelCommon.IsCommonMapped = true; mappingexcelCommon.MappedMappingId = mappingexcel.Id; mappingexcelCommon.MappedServiceTypeId = mappingexcel.ServiceTypeId; await _dbTeleBilling_V01Context.AddAsync(mappingexcelCommon); await _dbTeleBilling_V01Context.SaveChangesAsync(); } #endregion #region --> ADD Mapping column Details if (excelMappingAC.dbfieldList.Count() > 0) { List <Mappingexcelcolumn> mappingExcelColumnslst = new List <Mappingexcelcolumn>(); foreach (var item in excelMappingAC.dbfieldList) { if (!string.IsNullOrEmpty(item.ColumnAddress)) { Mappingexcelcolumn excelColumn = new Mappingexcelcolumn(); 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); } }
public async Task <ResponseAC> AddMemo(MemoAC memoAC, long userId, string loginUserName) { ResponseAC responseAC = new ResponseAC(); Memo memo = _mapper.Map <Memo>(memoAC); memo.Id = 0; memo.CreatedBy = userId; memo.CreatedDate = DateTime.Now; memo.TransactionId = _iLogManagement.GenerateTeleBillingTransctionID(); memo.RefrenceNo = memoAC.ProviderName + "/INV/" + memoAC.Month + "/" + memo.Year; _dbTeleBilling_V01Context.Add(memo); await _dbTeleBilling_V01Context.SaveChangesAsync(); List <Memobills> billMemos = new List <Memobills>(); List <Billmaster> billMasters = new List <Billmaster>(); foreach (long item in memoAC.BillIds) { Memobills memoBill = new Memobills(); memoBill.BillId = item; memoBill.MemoId = memo.Id; memoBill.TransactionId = memo.TransactionId; memoBill.CreatedBy = userId; memoBill.CreatedDate = DateTime.Now; billMemos.Add(memoBill); Billmaster billMaster = await _dbTeleBilling_V01Context.Billmaster.FirstOrDefaultAsync(x => x.Id == item); billMaster.UpdatedBy = userId; billMaster.BillStatusId = Convert.ToInt16(EnumList.BillStatus.MemoCreated); billMaster.UpdatedDate = DateTime.Now; billMasters.Add(billMaster); } if (billMemos.Any()) { await _dbTeleBilling_V01Context.AddRangeAsync(billMemos); await _dbTeleBilling_V01Context.SaveChangesAsync(); } if (billMasters.Any()) { _dbTeleBilling_V01Context.UpdateRange(billMasters); await _dbTeleBilling_V01Context.SaveChangesAsync(); memo = await _dbTeleBilling_V01Context.Memo.Where(x => x.Id == memo.Id && !x.IsDelete).Include(x => x.Provider).FirstOrDefaultAsync(); #region Send Mail For Create Memo TeleBillingUtility.Models.Configuration configuration = await _dbTeleBilling_V01Context.Configuration.FirstOrDefaultAsync(); List <MstEmployee> mstEmployees = await _dbTeleBilling_V01Context.MstEmployee.Where(x => !x.IsDelete && x.IsActive && x.IsPresidentOffice).ToListAsync(); if (configuration != null && configuration.NSendMemo) { foreach (var item in billMasters) { if (mstEmployees.Any()) { foreach (var employee in mstEmployees) { if (!string.IsNullOrEmpty(employee.EmailId)) { Emailtemplate emailTemplate = new Emailtemplate(); Dictionary <string, string> replacements = new Dictionary <string, string>(); EnumList.Month month = (EnumList.Month)item.BillMonth; replacements.Add("{BillMonth}", month.ToString()); replacements.Add("{BillYear}", item.BillYear.ToString()); replacements.Add("{RefrenceNo}", memo.RefrenceNo); replacements.Add("{newEmpName}", employee.FullName); replacements.Add("{MemoSubject}", memo.Subject); replacements.Add("{BillNumber}", item.BillNumber); replacements.Add("{BillAmount}", memo.TotalAmount.ToString()); replacements.Add("{Provider}", memo.Provider.Name); if (await _iEmailSender.SendEmail(Convert.ToInt64(EnumList.EmailTemplateType.SendMemo), replacements, employee.EmailId)) { await _iEmailSender.AddedReminderNotificationLog(Convert.ToInt64(EnumList.EmailTemplateType.SendMemo), null, false, employee.EmailId); } } } } } } #endregion #region Notification For Memo List <Notificationlog> notificationlogs = new List <Notificationlog>(); if (mstEmployees.Any()) { foreach (var item in mstEmployees) { notificationlogs.Add(_iLogManagement.GenerateNotificationObject(item.UserId, userId, Convert.ToInt16(EnumList.NotificationType.SendMemo), memo.Id)); } await _iLogManagement.SaveNotificationList(notificationlogs); } #endregion } await _iLogManagement.SaveAuditActionLog((int)EnumList.AuditLogActionType.AddMemo, loginUserName, userId, "Memo(" + memo.RefrenceNo + ")", (int)EnumList.ActionTemplateTypes.Add, memo.Id); responseAC.Message = _iStringConstant.MemoAddedsuccessfully; responseAC.StatusCode = Convert.ToInt16(EnumList.ResponseType.Success); return(responseAC); }