Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using EleWise.ELMA.CRM.Models;
- using Yambr.Dadata.Models;
- namespace Yambr.Dadata.Services
- {
- /// <summary>
- /// Сервис заполнения контрагента
- /// </summary>
- public interface IContractorSuggestionService
- {
- /// <summary>
- /// Выбрать контрагента из подсказок
- /// </summary>
- /// <param name="suggestPartyResponse">результат подсказок</param>
- /// <returns>структурированные данные контрагента</returns>
- SuggestPartyResponse.Suggestion SelectSuggestion(SuggestPartyResponse suggestPartyResponse);
- /// <summary>
- /// Выбрать контрагента из подсказок
- /// </summary>
- /// <param name="suggestions">список подсказок</param>
- /// <returns>структурированные данные контрагента</returns>
- SuggestPartyResponse.Suggestion SelectSuggestion(IEnumerable<SuggestPartyResponse.Suggestion> suggestions);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных контрагента
- /// </summary>
- /// <param name="suggestion">структурированные данные подсказки контрагента</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorDetermenisticGuid(SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных контрагента
- /// </summary>
- /// <param name="partyData">структурированные данные контрагента</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorDetermenisticGuid(PartyData partyData);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных юридического лица
- /// </summary>
- /// <param name="partyData">структурированные данные контрагента</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorLegalDetermenisticGuid(PartyData partyData);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных индивидуального предпринимателя
- /// </summary>
- /// <param name="partyData">структурированные данные контрагента</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorIndividualDetermenisticGuid(PartyData partyData);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных контрагента
- /// </summary>
- /// <param name="contractor">контрагент </param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorDetermenisticGuid(IContractor contractor);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных юридического лица
- /// </summary>
- /// <param name="contractorLegal">контрагент юридическое лицо</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorLegalDetermenisticGuid(IContractorLegal contractorLegal);
- /// <summary>
- /// Получить уникальный идентификатор контрагента на основе
- /// структурированных данных индивидуального предпринимателя
- /// </summary>
- /// <param name="contractorIndividual">контрагент физ лицо</param>
- /// <returns>Уникальный идентификатор (Guid)</returns>
- Guid GetContractorIndividualDetermenisticGuid(IContractorIndividual contractorIndividual);
- /// <summary>
- /// Найти в базе данных контрагента на основе
- /// структурированных данных контрагента
- /// </summary>
- /// <param name="suggestion">структурированные данные контрагента</param>
- /// <returns>Контрагент</returns>
- IContractor FindContractorBySuggestion(SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Заполнить контрагента по подсказке
- /// </summary>
- /// <param name="contractor">контрагент</param>
- /// <param name="suggestion">структурированные данные контрагента</param>
- void FillContractor(IContractor contractor, SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Заполнить юридическое лицо по подсказке
- /// </summary>
- /// <param name="contractorLegal">юридическое лицо</param>
- /// <param name="suggestion">структурированные данные контрагента</param>
- void FillContractorLegal(IContractorLegal contractorLegal, SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Заполнить физическое лицо (ИП) по подсказке
- /// </summary>
- /// <param name="contractorIndividual">контрагент</param>
- /// <param name="suggestion">структурированные данные контрагента</param>
- void FillContractorIndividual(IContractorIndividual contractorIndividual, SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Создать контрагента на основе подсказки
- /// </summary>
- /// <param name="suggestion"></param>
- /// <returns></returns>
- IContractor CreateContractor(SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Обновить контрагента на основе подсказки
- /// </summary>
- /// <param name="suggestion"></param>
- /// <returns></returns>
- IContractor UpdateContractor(SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Обновить или создать контрагента на основе подсказки
- /// </summary>
- /// <param name="suggestion"></param>
- /// <returns></returns>
- IContractor UpdateOrCreateContractor(SuggestPartyResponse.Suggestion suggestion);
- /// <summary>
- /// Создать физ. лицо на основе подсказки ФИО
- /// </summary>
- /// <param name="suggestion"></param>
- /// <returns>Физическое лицо</returns>
- IContractorIndividual CreateContractor(SuggestFioResponse.Suggestion suggestion);
- /// <summary>
- /// Заполнить физ. лицо на основе подсказки ФИО
- /// </summary>
- /// <param name="contractorIndividual"></param>
- /// <param name="suggestion"></param>
- /// <returns>Физическое лицо</returns>
- IContractorIndividual FillContractor(IContractorIndividual contractorIndividual, SuggestFioResponse.Suggestion suggestion);
- /// <summary>
- /// Найти контрагента по уникальному значению поля UidEgrul
- /// </summary>
- /// <param name="uidEgrul"></param>
- /// <returns></returns>
- IContractor FindContractorByDetermenisticGuid(Guid uidEgrul);
- /// <summary>
- /// Найти контрагентов по уникальному значению поля UidEgrul
- /// * в базе должен быть один - если больше то плохо
- /// </summary>
- /// <param name="uidEgrul"></param>
- /// <returns></returns>
- IEnumerable<IContractor> FindContractorsByDetermenisticGuid(Guid uidEgrul);
- /// <summary>
- /// Найти контрагентов по уникальному значению поля UidEgrul
- /// если указано исключение - вернет всех кроме него
- /// </summary>
- /// <param name="uidEgrul"></param>
- /// <param name="excludeContractor">Не включая контрагента</param>
- /// <returns></returns>
- IEnumerable<IContractor> FindContractorsByDetermenisticGuid(Guid uidEgrul, IContractor excludeContractor);
- Guid GetDeterministicGuidBranch(string fullname, string inn, string ogrn);
- Guid GetDeterministicGuidMain(string inn, string ogrn);
- Guid GetDeterministicGuidIndividual(string inn);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement