Exemple #1
0
        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
         });
     }
 }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }