Example #1
0
        public Beneficiary Update(Guid id, Beneficiary beneficiary)
        {
            if (beneficiary != null)
            {
                _db.Update(beneficiary);
                _db.SaveChanges();
            }

            return(beneficiary);
        }
        public BeneficiaryTelephone Update(Guid id, BeneficiaryTelephone telephones)
        {
            if (telephones != null)
            {
                _db.Update(telephones);
                _db.SaveChanges();
            }

            return(telephones);
        }
Example #3
0
        public Address Update(Guid id, Address address)
        {
            if (address != null)
            {
                _db.Update(address);
                _db.SaveChanges();
            }

            return(address);
        }
        public Telephone Update(Guid id, Telephone telephone)
        {
            if (telephone != null)
            {
                _db.Update(telephone);
                _db.SaveChanges();
            }

            return(telephone);
        }
        public Individual Update(Guid id, Individual individual)
        {
            if (individual != null)
            {
                _db.Update(individual);
                _db.SaveChanges();
            }

            return(individual);
        }
Example #6
0
        public ContractViewModel Update(Guid id, ContractViewModel contractViewModel)
        {
            using (var scope = new TransactionScope(TransactionScopeOption.Required,
                                                    new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadCommitted
            }))
            {
                var contractId = _db.SignedContracts.Where(sc => sc.SignedContractId == id).Select(sc => sc.ContractId).FirstOrDefault();

                if (contractViewModel != null)
                {
                    // Contract
                    var contractToUpdate = _db.Contracts.Where(con => con.ContractId == contractId).FirstOrDefault();
                    var updatedContract  = Factories.ContractFactory.Create(contractViewModel);
                    contractToUpdate.ContractCategory   = updatedContract.ContractCategory;
                    contractToUpdate.ContractExpiryDate = updatedContract.ContractExpiryDate;
                    contractToUpdate.ContractType       = updatedContract.ContractType;
                    _db.Update(contractToUpdate);

                    // Signed Contract
                    var signedContractToUpdate = _db.SignedContracts.Where(sc => sc.SignedContractId == id).FirstOrDefault();
                    signedContractToUpdate.ContractIndividualIsActive = contractViewModel.IsActive;

                    if (_db.Individuals.Select(ind => ind.BeneficiaryId).Contains(contractViewModel.ContractHolderId))
                    {
                        signedContractToUpdate.IndividualId = contractViewModel.ContractHolderId;
                    }
                    else
                    {
                        scope.Complete();
                        return(null);
                    }

                    // Contract Beneficiaries
                    _db.Contract_Beneficiary.RemoveRange(
                        _db.Contract_Beneficiary.Where(cb => cb.SignedContractId == id));

                    if (AddContractBeneficiaries(contractViewModel, signedContractToUpdate))
                    {
                        scope.Complete();
                        _db.SaveChanges();
                        return(contractViewModel);
                    }
                }

                scope.Complete();
                return(null);
            }
        }
Example #7
0
        public Contract Update(Guid id, Contract contract)
        {
            if (contract != null)
            {
                var contractToUpdate = contract;
                if (contract.ContractId != id)
                {
                    contractToUpdate = Find(id);
                    contractToUpdate.ContractCategory   = contract.ContractCategory;
                    contractToUpdate.ContractDeleted    = contract.ContractDeleted;
                    contractToUpdate.ContractExpiryDate = contract.ContractExpiryDate;
                    contractToUpdate.ContractType       = contract.ContractType;
                }
                _db.Update(contractToUpdate);
                _db.SaveChanges();
            }

            return(contract);
        }
        /// <summary>
        /// Update/Delete de Contract Holder
        /// </summary>
        /// <param name="id"></param>
        /// <param name="vm"></param>
        /// <returns></returns>
        public ContractHolderViewModel Update(Guid id, ContractHolderViewModel vm)
        {
            using (var scope = new TransactionScope(TransactionScopeOption.Required,
                                                    new TransactionOptions {
                IsolationLevel = IsolationLevel.ReadCommitted
            }))
            {
                var individual = _db.Individuals.Where(ind => ind.BeneficiaryId == id).FirstOrDefault();

                if (individual == null)
                {
                    return(null);
                }

                var beneficary_addresses  = _db.Beneficiary_Address.Where(benAd => benAd.BeneficiaryId == individual.BeneficiaryId).ToList();
                var individual_telephones = _db.Individual_Telephone.Where(indTel => indTel.BeneficiaryId == individual.BeneficiaryId).ToList();

                //Soft Delete
                if (vm.isDeleted)
                {
                    if (_db.SignedContracts.Where(sigCon => (sigCon.ContractIndividualIsActive == true) && (sigCon.IndividualId == id)).Any())
                    {
                        return(null);
                    }

                    individual.IsDeleted = vm.isDeleted;
                    _db.Update(individual);
                }

                //Update
                else
                {
                    if (Factories.IndividualFactory.Create(vm) == null ||
                        Factories.AddressFactory.CreateList(vm.individualAddresses).Count() != vm.individualAddresses.Count() ||
                        Factories.TelephoneFactory.CreateList(vm.individualTelephones).Count() != vm.individualTelephones.Count())
                    {
                        return(null);
                    }

                    else if (individual.IndividualCPF != vm.individualCPF)
                    {
                        return(null);
                    }

                    individual.IndividualBirthdate = vm.individualBirthdate;
                    individual.IndividualCPF       = vm.individualCPF;
                    individual.IndividualEmail     = vm.individualEmail;
                    individual.IndividualName      = vm.individualName;
                    individual.IndividualRG        = vm.individualRG;

                    _db.Update(individual);

                    if (beneficary_addresses.Count() > 0)
                    {
                        _db.RemoveRange(beneficary_addresses);
                    }
                    if (individual_telephones.Count() > 0)
                    {
                        _db.RemoveRange(individual_telephones);
                    }

                    _db.AddRange(vm.individualAddresses);
                    _db.AddRange(vm.individualTelephones);

                    foreach (var benAdd in vm.individualAddresses)
                    {
                        _db.Add(new BeneficiaryAddress
                        {
                            BeneficiaryAddressId = Guid.NewGuid(),
                            BeneficiaryId        = individual.BeneficiaryId,
                            AddressId            = benAdd.AddressId
                        });
                    }

                    foreach (var indTel in vm.individualTelephones)
                    {
                        _db.Add(new BeneficiaryTelephone
                        {
                            BeneficiaryTelephoneId = Guid.NewGuid(),
                            BeneficiaryId          = individual.BeneficiaryId,
                            TelephoneId            = indTel.TelephoneId
                        });
                    }
                }

                _db.SaveChanges();

                scope.Complete();

                return(vm);
            }
        }