public ResultEntity <bool> AddDealer(AddDealerDto addDealerDto)
        {
            //内存中组织对象
            var dealerid      = Guid.NewGuid();
            var dealercontact = new List <Contact>();

            for (int i = 0; i < addDealerDto.ContactName.Count; i++)
            {
                var dealercontactmodel = new Contact().CreateContact(dealerid,
                                                                     addDealerDto.ContactName[i],
                                                                     addDealerDto.ContactTel[i],
                                                                     addDealerDto.ContactSheng[i],
                                                                     addDealerDto.ContactShi[i],
                                                                     addDealerDto.ContactQu[i],
                                                                     addDealerDto.ContactJiedao[i],
                                                                     addDealerDto.ContactIsDefault[i]
                                                                     );
                dealercontact.Add(dealercontactmodel);
            }
            var dealer = new Dealers(_dealerRepository).RegisterDealers(dealerid, addDealerDto.Name, addDealerDto.Tel, addDealerDto.EleMoney, dealercontact, addDealerDto.Parentid);
            var login  = new Login().CreateLogin(dealer.Tel, dealerid);

            //实际持续化到数据库中
            try
            {
                using (_repository)
                {
                    _dealerRepository.CreateDealer(dealer);
                    if (addDealerDto.Parentid != null)
                    {
                        _dealerRepository.SubParentEleMoney((Guid)addDealerDto.Parentid, addDealerDto.EleMoney);
                    }
                    _dealerRepository.AddParentSubCount(addDealerDto.Parentid);
                    _loginRepository.CreateLogin(login);
                    _repository.Commit();
                }
                return(GetResultEntity(true));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        public ResultEntity <bool> AddDealer(AddDealerDTO adddealerdto)
        {
            var dealerid       = Guid.NewGuid();
            var dealercontacts = new List <Contact>();

            for (int i = 0; i < adddealerdto.ContactNames.Count; i++)
            {
                var dealercontact = new Contact().CreateContact(dealerid, adddealerdto.ContactNames[i],
                                                                adddealerdto.ContactTels[i], adddealerdto.ContactProvinces[i],
                                                                adddealerdto.ContactCities[i], adddealerdto.ContactZeors[i], adddealerdto.ContactStreets[i],
                                                                adddealerdto.IsDefaultContact[i]);
                dealercontacts.Add(dealercontact);
            }
            var dealer = new Dealers(idealerrepository).RegisterDealer(dealerid, adddealerdto.Name,
                                                                       adddealerdto.Tel, adddealerdto.EleMoney, dealercontacts, adddealerdto.Parentid);
            var login = new Login().CreateLogin(dealer.Tel, dealerid);

            try
            {
                using (irepository)
                {
                    idealerrepository.CreateDealer(dealer);
                    if (adddealerdto.Parentid != null)
                    {
                        idealerrepository.SubParentEleMoney(Guid.Parse(adddealerdto.Parentid.ToString()),
                                                            adddealerdto.EleMoney);
                    }
                    idealerrepository.AddParentSubCount(adddealerdto.Parentid);
                    iloginrepository.CreateLogin(login);

                    irepository.Commit();
                }
                return(GetResultEntity(true));
            }

            catch (Exception error)
            {
                throw error;
            }
        }