Пример #1
0
        static async Task MainAsync()
        {
            // Se configura el cliente http para realizar peticiones web
            client.BaseAddress = new Uri(apiBaseUrl);
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // Se hace el login de la aplicación
            // Se pueden leer el usuario y contraseña de un archivo para que sea más configurable
            loginObject = await LoginController.LoginAsync(apiUserName, apiPassword, client);

            if (loginObject.HasError)
            {
                // Se puede imprimir en un log txt
                Console.WriteLine($"Error de login: {loginObject.Error}");
                return;
            }

            // Si el login se realizó correctamente se procede a realizar la actualización de los datos

            // Se le agrega a la petición el token de autorización
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", loginObject.Token);


            UsersController userCrtl = new UsersController(client);

            CreateUpdateUserResponse requestResponse = await userCrtl.CreateUpdateUsersAsync();

            //Guardamos el log
            logger.Info(JsonConvert.SerializeObject(requestResponse));

            if (!requestResponse.HasErrors)
            {
                // Se puede imprimir en un log txt
                Console.WriteLine($"Se finalizó correctamente la creación / actualización de {requestResponse.ProcessedItems} items de un total de {requestResponse.LoadedItems} items");
            }
            else
            {
                foreach (var item in requestResponse.ErrorsDescription)
                {
                    // Se puede imprimir en un log txt
                    Console.WriteLine($" Línea {item.Line} - {item.ErrorDescription}");
                }
            }
        }
        public async Task <CreateUpdateUserResponse> CreateUpdateUsersAsync()
        {
            CreateUpdateUserResponse requestResponse     = new CreateUpdateUserResponse();
            IEnumerable <UserEntity> usersToUpdateCreate = new List <UserEntity>();
            UsersDA usersDA = new UsersDA();

            //Se consultan los datos de los usuarios a crear y/o actualizar
            usersToUpdateCreate = await usersDA.GetUsersToUpdate();

            if (usersToUpdateCreate != null)
            {
                //Se hace el consumo del servicio para actualizar/crear usuarios
                var response = await httpClient.PostAsJsonAsync("ExternalServicesAccount/EmployeeExternalUpdate", usersToUpdateCreate);

                requestResponse = await response.Content.ReadAsAsync <CreateUpdateUserResponse>();
            }

            return(requestResponse);
        }