Ejemplo n.º 1
0
        public async Task <ApiResponse <bool> > CreateContactoAlTables(ContactoCreateDto dto)
        {
            bool resultDto = new bool();

            Metadata metadata = new Metadata
            {
                IsValid = true,
                Message = ""
            };

            ApiResponse <bool> response = new ApiResponse <bool>(resultDto);


            try
            {
                SapTratamientoContacto sapTratamientoContacto = await _unitOfWork.SapTratamientoContactoRepository.GetById(dto.Tratamiento);

                if (sapTratamientoContacto == null)
                {
                    metadata.IsValid = false;
                    metadata.Message = "Tratamiento no existe!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                SapDepartamentoContacto sapDepartamentoContacto = await _unitOfWork.SapDepartamentoContactoRepository.GetById(dto.Departamento);

                if (sapDepartamentoContacto == null)
                {
                    metadata.IsValid = false;
                    metadata.Message = "Departamento no existe!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }

                SapCargoContacto sapCargoContacto = await _unitOfWork.SapCargoContactoRepository.GetById(dto.Cargo);

                if (sapCargoContacto == null)
                {
                    metadata.IsValid = false;
                    metadata.Message = "Cargo no existe!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }

                SapPoderContacto sapPoderContacto = await _unitOfWork.SapPoderContactoRepository.GetById(dto.Poder);

                if (sapPoderContacto == null)
                {
                    metadata.IsValid = false;
                    metadata.Message = "Poder no existe!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Rif))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Rif Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Nombre))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Nombre Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Apellido))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Apellido Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Celular))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Celular Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Telefono))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Telefono Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }
                if (String.IsNullOrEmpty(dto.Email))
                {
                    metadata.IsValid = false;
                    metadata.Message = "Telefono Invalido!!";
                    response.Data    = false;
                    response.Meta    = metadata;
                    return(response);
                }

                var newIdContacto = await _unitOfWork.SapContactoRepository.NextId();

                string FlagProcesado = "";

                if (dto.IdCliente == "0")
                {
                    FlagProcesado = "X";
                }

                SapContactos newSapContactos = new SapContactos();

                newSapContactos.IdContacto = newIdContacto;
                newSapContactos.Kunnr      = dto.IdCliente;
                newSapContactos.Parnr      = "";
                newSapContactos.TitleMedi  = sapTratamientoContacto.NombreTratamiento;
                newSapContactos.Name1      = dto.Apellido;
                newSapContactos.Namev      = dto.Nombre;
                newSapContactos.Pafkt      = sapCargoContacto.Codigo;
                newSapContactos.Abtnr      = sapDepartamentoContacto.Codigo;
                newSapContactos.Telf1      = dto.Telefono;
                newSapContactos.Telf2      = dto.Celular;
                newSapContactos.StmpAddr   = dto.Email;
                newSapContactos.Fax        = dto.Fax;
                newSapContactos.Pavip      = "3";//Activo
                if (dto.FechaNacimiento != null)
                {
                    newSapContactos.Gbdat = dto.FechaNacimiento.Value.Year.ToString() + dto.FechaNacimiento.Value.Month.ToString() + dto.FechaNacimiento.Value.Day.ToString();
                }

                newSapContactos.Parvo           = sapPoderContacto.Codigo;
                newSapContactos.Nmail           = "X";
                newSapContactos.Procesado       = FlagProcesado;
                newSapContactos.FechaCreacion   = DateTime.Now;
                newSapContactos.UsuarioCreacion = dto.UsuarioConectado;
                await _unitOfWork.SapContactoRepository.Add(newSapContactos);


                MtrContactos newMtrContactos = new MtrContactos();
                newMtrContactos.IdContacto    = (long)newIdContacto;
                newMtrContactos.IdCliente     = dto.IdCliente;
                newMtrContactos.Rif           = dto.Rif;
                newMtrContactos.Nombre        = dto.Nombre + " " + dto.Apellido;
                newMtrContactos.Cargo         = sapCargoContacto.Descripcion;
                newMtrContactos.Area          = sapDepartamentoContacto.Descripcion;
                newMtrContactos.Telefono1     = dto.Telefono;
                newMtrContactos.Celular       = dto.Celular;
                newMtrContactos.Email         = dto.Email;
                newMtrContactos.Fax           = dto.Fax;
                newMtrContactos.Inactivo      = false;
                newMtrContactos.FechaCreacion = DateTime.Now;
                newMtrContactos.Usuario       = dto.UsuarioConectado;
                await _unitOfWork.MtrContactosRepository.Add(newMtrContactos);

                Wsmy265 newWsmy265 = new Wsmy265();

                decimal decimalVal = 0;
                decimalVal = System.Convert.ToDecimal(dto.IdCliente);
                var newCorrelativoContactoCliente = await _unitOfWork.Wsmy265Repository.NextCorrelativoContactoCliente(decimalVal, dto.Rif);

                newWsmy265.Id               = (long)newIdContacto;
                newWsmy265.Cliente          = decimalVal;
                newWsmy265.Rif              = dto.Rif;
                newWsmy265.Nombre           = dto.Nombre + " " + dto.Apellido;
                newWsmy265.Cargo            = sapCargoContacto.Descripcion;
                newWsmy265.Area             = sapDepartamentoContacto.Descripcion;
                newWsmy265.TelefonoOficina1 = dto.Telefono;
                newWsmy265.TelefonoCelular  = dto.Celular;
                newWsmy265.Email            = dto.Email;
                newWsmy265.Fax              = dto.Fax;
                newWsmy265.IdContactos      = newCorrelativoContactoCliente;
                newWsmy265.Inactivo         = "";
                if (dto.FechaNacimiento != null)
                {
                    newWsmy265.FechaCumpleanos = dto.FechaNacimiento.Value.Year.ToString() + dto.FechaNacimiento.Value.Month.ToString() + dto.FechaNacimiento.Value.Day.ToString();
                }

                newWsmy265.TomaDecision  = sapPoderContacto.Id;
                newWsmy265.AceptaEmail   = "X";
                newWsmy265.FechaCreacion = DateTime.Now;
                newWsmy265.Usuario       = dto.UsuarioConectado;

                await _unitOfWork.Wsmy265Repository.Add(newWsmy265);


                await _unitOfWork.SaveChangesAsync();


                response.Data = true;
                response.Meta = metadata;
                return(response);
            }
            catch (Exception ex)
            {
                metadata.IsValid = false;
                metadata.Message = ex.InnerException.Message;
                response.Data    = false;
                response.Meta    = metadata;
                return(response);
            }
        }
        public async Task <IActionResult> CreateContactoAlTables(ContactoCreateDto dto)
        {
            var response = await _mtrContactosService.CreateContactoAlTables(dto);

            return(Ok(response));
        }