public static bool CrearCliente(Entidades.ViewModels.Cliente.NuevoCliente cliente, string uriLogo) { var repo = new ClienteRepository(); var clienteNuevo = new Entidades.Models.Cliente(); var rut = Convert.ToInt32(cliente.Rut.Replace(".","").Replace(".","").Split('-')[0]); var dv = cliente.Rut.Split('-')[1]; clienteNuevo.Rut = rut; clienteNuevo.DV = dv; clienteNuevo.Nombre = cliente.Nombre; clienteNuevo.NombreFantasia = cliente.NombreFantasia; clienteNuevo.GiroComercial = cliente.GiroComercial; clienteNuevo.CodigoActividadEconomica = cliente.CodigoActividadEconomica; clienteNuevo.FranquiciaId = cliente.Franquicia; clienteNuevo.Logo = uriLogo; clienteNuevo.EstadoCliente = EstadoCliente.Deshabilitado; repo.Insertar(clienteNuevo); repo.GuardarCambios(); var clienteCreado = repo.Filtrar(c => c.Rut == rut).FirstOrDefault(); if (clienteCreado != null) { // Creacion de la sucursal var sucursal = new Entidades.Models.Sucursal() { ClienteId = clienteCreado.Id, EstadoSucursal = EstadoSucursal.Habilitado, CodigoSucursalSII = cliente.CodigoSucursalSII, Identificador = cliente.Sucursal }; var sucuRepository = new Repositorio.Repository.SucursalRepository(); sucuRepository.Insertar(sucursal); sucuRepository.GuardarCambios(); var sucursalCreada = sucuRepository.Filtrar(s => s.Identificador == cliente.Sucursal && s.ClienteId == clienteCreado.Id) .FirstOrDefault(); if (sucursalCreada != null) { var contacto = new Entidades.Models.ContactoSucursal() { EstadoDireccionSucursal = EstadoContactoSucursal.Habilitada, Orden = 1, NombreContacto = cliente.NombreContacto, FechaCreaccion = DateTime.Now, FechaCierre = new DateTime(2000,1,1), Telefono = cliente.Telefono, CorreoContacto = cliente.Correo, Direccion = cliente.Direccion, Comuna = cliente.Comuna, Ciudad = cliente.Ciudad, SucursalId = sucursalCreada.Id }; var contactoRepository = new Repositorio.Repository.ContactoSucursalRepository(); contactoRepository.Insertar(contacto); contactoRepository.GuardarCambios(); var contactoCreado = contactoRepository.Filtrar(c => c.SucursalId == sucursalCreada.Id && c.Orden == 1) .FirstOrDefault(); if (contactoCreado != null) { var resultado = Servicio.UsuarioService.AgregarUsuario("", "", cliente.Rut, cliente.NombreContacto, cliente.Correo, false); } } } else { return false; } return true; }