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;
            }
        }
Esempio n. 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;
            }
        }
Esempio n. 3
0
        public async Task <RespuestaDto <Login> > CreateLogin(Login login)
        {
            var loginResult = new Login();

            try
            {
                await Task.Delay(10);

                var resultado = _loginRepository.CreateLogin(LoginMapper.LoginToEntity(login), conStr);

                if (resultado.Result != null)
                {
                    loginResult = LoginMapper.EntityToLogin(resultado.Result);
                }
            }
            catch (Exception ex)
            {
                throw new Exception($"{ex.Message}");
            }

            return(MensajeRespuesta.CrearMensajeRespuesta(loginResult, string.Empty, true));
        }
        public IActionResult Post(LoginRequest request)
        {
            UserReadDbo user = _userRepo.GetUserByUserName(request.UserName);

            if (user == null)
            {
                return(GetInvalidLogin());
            }

            byte[] hash = Hash.Get(request.Password, user.Nonce);

            if (!hash.SequenceEqual(user.Password))
            {
                return(GetInvalidLogin());
            }

            DateTime now = DateTime.UtcNow;

            Guid id = Guid.NewGuid();

            LoginDbo dbo = new LoginDbo
            {
                Id        = id.ToByteArray(),
                UserId    = user.Id,
                CreatedAt = now
            };

            _loginRepo.CreateLogin(dbo);

            LoginResponse ret = new LoginResponse
            {
                LoginId = id.ToString()
            };

            return(Ok(ret));
        }
Esempio n. 5
0
        public IActionResult Post(LoginRequest request)
        {
            if (string.IsNullOrEmpty(request.UserName))
            {
                return(Error.BadRequest("User name is required"));
            }

            if (request.UserName.Length > Max.UserName)
            {
                return(Error.BadRequest("User name is too long"));
            }

            if (string.IsNullOrEmpty(request.Password))
            {
                return(Error.BadRequest("Password is required"));
            }

            if (request.Password.Length > Max.Password)
            {
                return(Error.BadRequest("Password is too long"));
            }

            if (request.Password.Length < Min.Password)
            {
                return(Error.BadRequest("Password is too short"));
            }

            if (request.UserName == request.Password)
            {
                return(Error.BadRequest("User name and password cannot be the same"));
            }

            if (_userRepo.HasUser(request.UserName))
            {
                return(BadRequest(new ErrorResponse {
                    Message = "User name is already in use"
                }));
            }

            if (!request.Password.Any(c => char.IsNumber(c)))
            {
                return(Error.BadRequest("Password must contain a number"));
            }

            if (!request.Password.Any(c => !char.IsNumber(c) & !char.IsLetter(c)))
            {
                return(Error.BadRequest("Password must contain a symbol"));
            }

            if (!request.Password.Any(c => char.IsUpper(c)))
            {
                return(Error.BadRequest("Password must contain an upper-case letter"));
            }

            if (!request.Password.Any(c => char.IsLower(c)))
            {
                return(Error.BadRequest("Password must contain a lower-case letter"));
            }

            DateTime now = DateTime.UtcNow;

            long nonce = Hash.RandomLong();

            UserWriteDbo dbo = new UserWriteDbo
            {
                UserName  = request.UserName,
                Nonce     = nonce,
                Password  = Hash.Get(request.Password, nonce),
                CreatedAt = now
            };

            _userRepo.CreateUser(dbo);

            UserReadDbo user = _userRepo.GetUserByUserName(request.UserName);

            Guid id = Guid.NewGuid();

            LoginDbo loginDbo = new LoginDbo
            {
                Id        = id.ToByteArray(),
                UserId    = user.Id,
                CreatedAt = now
            };

            _loginRepo.CreateLogin(loginDbo);

            LoginResponse response = new LoginResponse
            {
                LoginId = id.ToString()
            };

            return(Ok(response));
        }
 public ActionResult <LoginDTO> PostLogin(LoginDTO loginDTO)
 {
     ls.CreateLogin(loginDTO);
     return(Ok());
 }