示例#1
0
        public bool SaveInAccountStatement(int idImport)
        {
            //Chargement des AccountStatementFile
            var asifs = GetByIdImport(idImport);

            if (asifs != null && asifs.Count > 0)
            {
                var unknownId = GetUnknownIds(asifs[0].AccountStatementImport.User.IdUserGroup);
                foreach (var asif in asifs)
                {
                    asif.UnknownId = unknownId;
                    //Mise à jour des state et des duplicate
                    _accountStatementImportFileRepository.UpdateAsifStates(asif);
                }


                ////Mise à jour des state et des duplicate
                //_accountStatementImportFileRepository.UpdateAsifStates(idImport);

                //controler si tous les enregistrements sont complets
                if (!IsSaveableInAccountStatement(idImport))
                {
                    throw new Exception("Il existe des opérations en erreur dans le relevé");
                }

                //recuperer les accountStatementImportFiles
                var accountStatementImportFiles = GetAsifsWithoutDuplicate(idImport);

                foreach (var accountStatementImportFile in accountStatementImportFiles)
                {
                    var accountStatement = _mapper.Map <AccountStatement>(accountStatementImportFile);
                    accountStatement = _accountStatementService.Save(accountStatement);
                    if (accountStatement.Id != 0)
                    {
                        //Recherche si operation transverse a enregistrer
                        var operationTranserveAsifs = _operationTransverseAsifService.GetByIdAsif(accountStatementImportFile.Id);
                        foreach (var operationTranserveAsif in operationTranserveAsifs)
                        {
                            var operationTransverseAs = new OperationTransverseAs
                            {
                                Id = 0,
                                IdAccountStatement    = accountStatement.Id,
                                IdOperationTransverse = operationTranserveAsif.IdOperationTransverse
                            };
                            _operationTransverseAsService.Save(operationTransverseAs);
                        }
                    }


                    //var accountStatements = _mapper.Map<IEnumerable<AccountStatement>>(accountStatementImportFiles).ToList();
                }
                //sauvegarder dans accountStatement
                return(true);
            }

            return(false);
        }