Пример #1
0
        public async Task Registrar(TrabajadorRegisterViewModel model)
        {
            var negocio = new NegocioViewModel
            {
                IdNegocio   = Guid.NewGuid().ToString(),
                Nombre      = model.NombreNegocio,
                TipoNegocio = model.TipoNegocio
            };

            await negocioRepository.Add(negocio);

            string contrasenaEncriptada = BCrypt.Net.BCrypt.HashPassword(model.Contrasena.Trim());

            var trabajador = new Trabajador
            {
                Rut             = model.Rut.Replace(".", "").Replace("-", "").Trim(),
                IdNegocio       = negocio.IdNegocio.ToString(),
                IdRol           = "1",
                Correo          = model.Correo.Trim(),
                Contrasena      = contrasenaEncriptada,
                Nombre          = model.Nombre.Trim(),
                Apellido        = model.Apellido?.Trim(),
                FechaNacimiento = DateOnly.FromDateTime(model.FechaNacimiento),
                Telefono        = model.Telefono?.Trim()
            };

            await Add(trabajador);
        }
Пример #2
0
        public async Task <IActionResult> RegisterAsync(TrabajadorRegisterViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.TipoNegocio > 3 || model.TipoNegocio < 1)
            {
                ModelState.AddModelError(nameof(model.Correo), "El tipo de negocio es invalido.");
                return(View(model));
            }
            if ((await repositorioTrabajadores.GetByEmail(model.Correo)) != null)
            {
                ModelState.AddModelError(nameof(model.Correo), "El correo ingresado ya existe.");
                return(View(model));
            }
            else if ((await repositorioTrabajadores.GetByRut(model.Rut, true)) != null)
            {
                ModelState.AddModelError(nameof(model.Rut), "El rut ingresado ya existe.");
                return(View(model));
            }
            else if (string.IsNullOrWhiteSpace(model.Contrasena))
            {
                ModelState.AddModelError(nameof(model.Contrasena), "La contraseña no puede estar vacia.");
                return(View(model));
            }
            else if (string.IsNullOrWhiteSpace(model.Correo))
            {
                ModelState.AddModelError(nameof(model.Correo), "El correo no puede estar vacio.");
                return(View(model));
            }

            await repositorioTrabajadores.Registrar(model);

            return(LocalRedirect("~/Account/Login"));
        }