public ApiResult ExcelImport(ExcelItemRow excelRow) { var excelRowBefore = excelRow.DeepClone(); var result = inner.ExcelImport(excelRow); if (!result.Succeeded && LogError || result.Succeeded && LogChangeSucceeded || stopwatch.ElapsedMilliseconds > LogLongTime) { logRepository.Add(new LogItem(stopwatch, userId, Guid.Empty, result, excelRowBefore)); } return(result); }
public ApiResult ExcelImport(ExcelItemRow excelItemRow) { try { return(HandleRequest() ?? companyRepository.ExcelImport(excelItemRow)); } catch (Exception exception) { return(new ApiResult { Exception = exception, Succeeded = false }); } }
public ApiResult ExcelImport(ExcelItemRow excelRow) { var result = new ApiResult(); try { if (excelRow.CompanyItem.CorporateIdentityNumber != null && GetByCorporateIdentityNumber <CompanyItem>(excelRow.CompanyItem.CorporateIdentityNumber.Value).Data != null) { result.Exception = new Exception(localizer["A company with corporate identity number: {0} already exist.", excelRow.CompanyItem.CorporateIdentityNumber], new Exception("exist")); return(result); } dbContext.CompanyList.Add(excelRow.CompanyItem); dbContext.ContactPersonList.Add(excelRow.ContactPersonItem); dbContext.SaveChanges(); result.Id = excelRow.CompanyItem.Id; if (excelRow.DeclarationItem == null) { result.Succeeded = true; } else { var addDeclarationResult = declarationRepository.Add(excelRow.DeclarationItem); if (addDeclarationResult.Succeeded) { result.Succeeded = true; } else { result.Exception = new Exception("Problem with adding declaration, se inner exception", addDeclarationResult.Exception); result.Succeeded = addDeclarationResult.Succeeded; } } } catch (Exception exception) { result.Succeeded = false; result.Exception = exception; } return(result); }
public ApiResult ExcelImport(ExcelItemRow excelRow) { ClearCache(Guid.Empty); return(inner.ExcelImport(excelRow)); }
private ExcelItemRow CreateExcelItemRow(DataRow dataRow) { var companyId = Guid.NewGuid(); var declarationItemId = Guid.NewGuid(); var excelRow = new ExcelItemRow { CompanyItem = new CompanyItem { Id = companyId, Code = dataRow["Virksomhet - Pinkode"].ToString(), ExternalId = dataRow["Virksomhet - Virksomhet ID (tilsynets datamodell)"].ToString(), Name = dataRow["Virksomhet - Virksomhet"].ToString(), MailingAddressStreet = dataRow["Virksomhet - MailingAddress - Gatenavn og nummer"].ToString(), MailingAddressZip = dataRow["Virksomhet - MailingAddress - Postnummer"].ToString(), MailingAddressCity = dataRow["Virksomhet - MailingAddress - Sted"].ToString(), LocationAddressStreet = dataRow["Virksomhet - LocationAddress - Gatenavn og nummer"].ToString(), LocationAddressZip = dataRow["Virksomhet - LocationAddress - Postnummer"].ToString(), LocationAddressCity = dataRow["Virksomhet - LocationAddress - Sted"].ToString(), BusinessAddressStreet = dataRow["Virksomhet - BusinessAddress - Gatenavn og nummer"].ToString(), BusinessAddressZip = dataRow["Virksomhet - BusinessAddress - Postnummer"].ToString(), BusinessAddressCity = dataRow["Virksomhet - BusinessAddress - Sted"].ToString(), IndustryGroupCode = dataRow["Virksomhet - IndustryGroup - Kode"].ToString(), IndustryGroupDescription = dataRow["Virksomhet - IndustryGroup - Beskrivelse"].ToString(), IndustryGroupAggregated = dataRow["Virksomhet - IndustryGroup - Aggregert"].ToString(), InstitutionalSectorCode = dataRow["Virksomhet - InstitutionalSector - Kode"].ToString(), InstitutionalSectorDescription = dataRow["Virksomhet - InstitutionalSector - Beskrivelse"].ToString(), }, ContactPersonItem = new ContactPersonItem { Id = Guid.NewGuid(), Name = dataRow["Kontaktperson - Navn"].ToString(), Email = dataRow["Kontaktperson - E-postadresse"].ToString().ToLower(), PhoneCountryCode = dataRow["Kontaktperson - Landskode"].ToString(), Phone = dataRow["Kontaktperson - Telefonnummer"].ToString(), CompanyItemId = companyId, } }; if (!String.IsNullOrEmpty(dataRow["Virksomhet - Organisasjonsnummer"]?.ToString())) { excelRow.CompanyItem.CorporateIdentityNumber = Convert.ToInt32(dataRow["Virksomhet - Organisasjonsnummer"]); } if (!String.IsNullOrEmpty(dataRow["Virksomhet - Organisasjonsnummer på hovedorgansasjonen"]?.ToString())) { excelRow.CompanyItem.OwenerCorporateIdentityNumber = Convert.ToInt32(dataRow["Virksomhet - Organisasjonsnummer på hovedorgansasjonen"]); } if (string.IsNullOrEmpty(excelRow.CompanyItem.Code)) { var random = new Random(DateTime.Now.Millisecond); excelRow.CompanyItem.Code = random.Next(1000, 9999).ToString(); } if (!string.IsNullOrEmpty(dataRow["Egenkontroll - Navn på egenkontroll"].ToString())) { excelRow.DeclarationItem = new DeclarationItem { Id = declarationItemId, CompanyItemId = companyId, Name = dataRow["Egenkontroll - Navn på egenkontroll"].ToString(), CaseNumber = dataRow["Egenkontroll - Saksnummer"].ToString(), CreatedDate = DateTime.Now, StatusId = (int)DeclarationStatus.Created, UserItemId = Guid.Parse(User.Claims.First(x => x.Type == ClaimTypes.PrimarySid).Value), DeadlineDate = !string.IsNullOrEmpty(dataRow["Egenkontroll - Frist for innsending"].ToString()) ? Convert.ToDateTime(dataRow["Egenkontroll - Frist for innsending"].ToString()) : DateTime.Now.Date.AddDays(14).AddMinutes(-1), DeclarationTestItem = new DeclarationTestItem { Id = declarationItemId, TypeOfMachine = valueListTypeOfMachine.Single(x => x.Id == 1), TypeOfTest = valueListTypeOfTest.Single(x => x.Id == 1), PurposeOfTestId = !string.IsNullOrEmpty(dataRow["Egenkontroll - Formål med test"].ToString()) ? valueListPurposeOfTest.Single(x => x.Text == dataRow["Egenkontroll - Formål med test"].ToString()).Id : valueListPurposeOfTest.Single(x => x.Id == 2).Id } }; if (!string.IsNullOrEmpty(dataRow["Saksbehandler - Navn"].ToString())) { excelRow.DeclarationItem.UserName = dataRow["Saksbehandler - Navn"].ToString(); } } return(excelRow); }