/// <summary>
 /// Загрузить тип одежды в базу
 /// </summary>
 private static async Task <IResultError> ClothesDelete(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetClothesRestService(restClient).
 MapAsync(service => ServiceDeleteAction(service, boutiqueLogger));
 /// <summary>
 /// Авторизироваться и загрузить данные в базу с предварительной очисткой
 /// </summary>
 public static async Task <IResultError> UploadAuthorizeData(IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueAuthorizeService.AuthorizeJwt(boutiqueLogger).
 ResultValueBindOkBindAsync(token => BoutiqueRestServiceFactory.GetBoutiqueRestClient(token, boutiqueLogger)).
 ResultValueBindErrorsOkBindAsync(restClient => BoutiqueDelete.DeleteData(restClient, boutiqueLogger)).
 ResultValueBindErrorsOkBindAsync(restClient => BoutiquePost.PostData(restClient, boutiqueLogger));
 /// <summary>
 /// Загрузить тип одежды в базу
 /// </summary>
 private static async Task <IResultError> SizeGroupUpload(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetSizeGroupRestService(restClient).
 MapAsync(service => ServicePostAction(service, SizeGroupInitialize.SizeGroupMains, boutiqueLogger));
 /// <summary>
 /// Загрузить одежду в базу
 /// </summary>
 private static async Task <IResultError> ClothesUpload(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetClothesRestService(restClient).
 MapAsync(service => ClothesInitialize.ClothesMains.SelectChunk(POST_CHUNK).
          Select(clothesMains => ServicePostAction(service, clothesMains, boutiqueLogger)).
          ToResultErrorsTaskAsync());
 /// <summary>
 /// Загрузить тип одежды в базу
 /// </summary>
 private static async Task <IResultError> ClothesTypeUpload(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetClothesTypeRestService(restClient).
 MapAsync(service => ServicePostAction(service, ClothesTypeInitialize.ClothesTypeMains, boutiqueLogger));
 /// <summary>
 /// Загрузить категории одежды в базу
 /// </summary>
 private static async Task <IResultError> CategoryUpload(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetCategoryRestService(restClient).
 MapAsync(service => ServicePostAction(service, CategoryInitialize.Categories, boutiqueLogger));
 /// <summary>
 /// Загрузить тип пола в базу
 /// </summary>
 private static async Task <IResultError> GenderUpload(IRestHttpClient restClient, IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetGenderRestService(restClient).
 MapAsync(service => ServicePostAction(service, GenderInitialize.Genders, boutiqueLogger));
 /// <summary>
 /// Авторизироваться с помощью токена
 /// </summary>
 private static async Task <IResultValue <string> > Authorize(IRestHttpClient restClient, IAuthorizeDomain authorizeDomain,
                                                              IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueRestServiceFactory.GetAuthorizeRestService(restClient).ToResultValue().
 ResultValueBindOkAsync(service => service.AuthorizeJwt(authorizeDomain).
                        VoidTaskAsync(token => LogAuthorize(token, service, boutiqueLogger)));
 /// <summary>
 /// Получить логин и токен
 /// </summary>
 public static async Task <IResultValue <string> > AuthorizeJwt(IBoutiqueLogger boutiqueLogger) =>
 await BoutiqueAuthorizeFunc(boutiqueLogger).
 ResultValueCurryOkAsync(BoutiqueRestServiceFactory.GetBoutiqueRestClient(boutiqueLogger)).
 ResultValueCurryOkBindAsync(AuthorizeConfigurationFactory.GetConfiguration(boutiqueLogger)).
 ResultValueBindOkBindAsync(func => func());