コード例 #1
0
 public SkillController(IServiceProvider serviceProvider,
                        IContractor contractor,
                        IContractorSkillService skills) : base(serviceProvider)
 {
     _contractor = contractor;
     _skills     = skills;
 }
コード例 #2
0
        public async Task <ContractorSkillOutput> Add(IContractor contractor, Guid skillId, ContractorSkillInput input)
        {
            var x1 = await Repository.Queryable()
                     .Where(x => x.ContractorId == contractor.Id && x.SkillId == skillId)
                     .FirstOrDefaultAsync();

            if (x1 == null)
            {
                var entity = new ContractorSkill()
                {
                    Created      = DateTimeOffset.UtcNow,
                    ObjectState  = ObjectState.Added,
                    ContractorId = contractor.Id,
                    SkillId      = skillId
                }.InjectFrom(input) as ContractorSkill;

                var result = await Repository.InsertAsync(entity, true);
            }

            var output = await Repository.Queryable()
                         .Where(x => x.ContractorId == contractor.Id && x.SkillId == skillId)
                         .ProjectTo <ContractorSkillOutput>(this.ProjectionMapping)
                         .FirstAsync();

            return(output);
        }
コード例 #3
0
ファイル: Contractor.cs プロジェクト: offline-zz/Sulakore
        public static IContractor GetInstaller(Type moduleType)
        {
            IContractor installer = null;

            _contractors.TryGetValue(moduleType, out installer);
            return(installer);
        }
コード例 #4
0
        public async Task <T> Update <T>(IContractor principal, ContractorUpdateInput model)
            where T : ContractorOutput
        {
            var entity = await Repository.Queryable().Where(x => x.Id == principal.Id)
                         .FirstAsync();

            return(await Update <T>(entity, model));
        }
コード例 #5
0
ファイル: ReportHelper.cs プロジェクト: b0gd4n0v1v4n/3p.m.i.a
 public static string GetContractorNameGenitive(this IContractor contractor)
 {
     if (contractor.LegalPerson != null)
     {
         return($"{contractor.LegalPerson.Name} в лице генерального директора {contractor.LastNameGenitive} {contractor.FirstNameGenitive} {contractor.MiddleNameGenitive}");
     }
     else
     {
         return(GetFullNameGenitive(contractor));
     }
 }
コード例 #6
0
        public SaveEntityResult SaveContractor(IContractor contractor)
        {
            try
            {
                using (var context = IoC.Resolve <IAimpContext>())
                {
                    if (contractor.Region.Id == 0)
                    {
                        var values = new Dictionary <string, string>()
                        {
                            { "Name", contractor.Region.Name }
                        };
                        contractor.RegionId = context.Regions.GetOrAdd(values).Id;
                        contractor.Region   = null;
                    }
                    if (contractor.City.Id == 0)
                    {
                        var values = new Dictionary <string, string>()
                        {
                            { "Name", contractor.City.Name }, { "RegionId", contractor.RegionId.ToString() }
                        };
                        contractor.CityId = context.Cities.GetOrAdd(values).Id;
                        contractor.City   = null;
                    }
                    IContractor dbContractor = null;

                    if (contractor.Id != 0)
                    {
                        dbContractor = context.Contractors.Get(contractor.Id, x => x.Document, x => x.Photo);
                    }

                    UserFileCheck.AddOrUpdate(context, contractor, contractor.Document, dbContractor?.Document);
                    UserFileCheck.AddOrUpdate(context, contractor, contractor.Photo, dbContractor?.Photo);
                    if (contractor.LegalPerson != null)
                    {
                        context.LegalPersons.AddOrUpdate(contractor.LegalPerson);
                    }

                    context.Contractors.AddOrUpdate(contractor);
                    context.SaveChanges();
                }
                return(new SaveEntityResult()
                {
                    Id = contractor.Id
                });
            }
            catch (Exception ex)
            {
                LoggerProvider.Logger.Log(ex);
                throw;
            }
        }
コード例 #7
0
        public async Task <ContractorSkillOutput> Update(IContractor contractor, Guid skillId,
                                                         ContractorSkillInput input)
        {
            var skill = await Repository.Queryable()
                        .Where(x => x.ContractorId == contractor.Id && x.SkillId == skillId)
                        .FirstAsync();

            skill.SelfAssessment = input.Priority;
            skill.Updated        = DateTimeOffset.UtcNow;
            skill.InjectFrom(input);

            var result = await Repository.UpdateAsync(skill, true);

            return(await Repository.Queryable()
                   .Where(x => x.ContractorId == contractor.Id && x.SkillId == skillId)
                   .ProjectTo <ContractorSkillOutput>(ProjectionMapping)
                   .FirstAsync());
        }
コード例 #8
0
        static void Main(string[] args)
        {
            Console.Title = "CLIENT";

            // указание, где ожидать входящие сообщения
            Uri address = new Uri("http://localhost:4000/IContractor");
            // указание как обмениваться сообщениями
            BasicHttpBinding binding = new BasicHttpBinding();

            EndpointAddress endpoint = new EndpointAddress(address);

            // то же самое что и Contractor
            ChannelFactory <IContractor> factory = new ChannelFactory <IContractor>(binding, endpoint);
            IContractor channel = factory.CreateChannel();

            Console.WriteLine("Attention! I'm sending message...");
            channel.WelcomeMessage("Gay P**n");
            Console.WriteLine("The message was sent.");
        }
コード例 #9
0
ファイル: ReportHelper.cs プロジェクト: b0gd4n0v1v4n/3p.m.i.a
        public static string GetContractorSignature(this IContractor contractor)
        {
            string city = string.Empty;

            if (contractor.City.Name != contractor.Region.Name)
            {
                city = contractor.City.Name;
            }

            if (contractor.LegalPerson != null)
            {
                return($"{contractor.LegalPerson.Name}^p" +
                       $"{contractor.Region.Name}{__comma(contractor.Raion)}{__comma(city)}, " +
                       $"{contractor.Street}{__comma(contractor.House) + __dash(contractor.Housing) + __dash(contractor.Apartment)}^p" +
                       $"ИНН/КПП {contractor.LegalPerson.Inn}/{contractor.LegalPerson.Kpp}^pОГРН {contractor.LegalPerson.Ogrn}^p" +
                       $"р/с {contractor.LegalPerson.Ras_schet}^p" +
                       $"к/с {contractor.LegalPerson.Kor_schet}в {contractor.LegalPerson.Bank}^p" +
                       $"БИК {contractor.LegalPerson.Bik}");
            }
            else
            {
                string result = $"{GetFullName(contractor)}^p" +
                                $"Дата рождения: {contractor.DateBirth.ToString("dd.MM.yyyy")}^p" +
                                $"Паспорт: {contractor.SerialDocument} № {contractor.NumberDocument}^p" +
                                $"Выдан: {contractor.ByDocument}^p" +
                                $"Дата выдачи: {contractor.DateDocument.Value.ToString("dd.MM.yyyy")}^p" +
                                $"Зарегистрирован: {contractor.Region?.Name}";

                result += !string.IsNullOrEmpty(contractor.Raion) ? $", {contractor.Raion}" : String.Empty;

                result += contractor.City.Name == contractor.Region.Name
                    ? String.Empty
                    : $", {contractor.City.Name}";

                result +=
                    $", {contractor.Street}{__comma(contractor.House)}{__dash(contractor.Housing)}{__dash(contractor.Apartment)}";

                return(result);
            }
        }
コード例 #10
0
        public ContractorInfoViewModel(IContractor contractor, IObjectSetValue window)
        {
            _window = window;

            if (contractor.Id > 0)
            {
                IsNew = Visibility.Hidden;

                EditableContractor = TinyMapper.Map <IContractor>(contractor);
                _contractor        = contractor;
            }
            else
            {
                IsNew = Visibility.Visible;

                EditableContractor = new Contractor()
                {
                    City   = new City(),
                    Region = new Region()
                };
            }
            _Settings();
        }
コード例 #11
0
 public SaveEntityResult SaveContractor(IContractor contractor)
 {
     throw new NotImplementedException();
 }
コード例 #12
0
 public ContractorController(IContractor principal, IContractorService service)
 {
     _service   = service;
     _principal = principal;
 }
コード例 #13
0
ファイル: ReportHelper.cs プロジェクト: b0gd4n0v1v4n/3p.m.i.a
 public static string GetShortName(this IContractor contractor)
 {
     return(_ShortName(contractor.FirstName, contractor.LastName, contractor.MiddleName));
 }
コード例 #14
0
ファイル: ReportHelper.cs プロジェクト: b0gd4n0v1v4n/3p.m.i.a
 public static string GetFullNameGenitive(this IContractor contractor)
 {
     return($"{contractor.LastNameGenitive} {contractor.FirstNameGenitive} {contractor.MiddleNameGenitive}");
 }
コード例 #15
0
 public ContractorValidator(IContractor contractor)
 {
     this.contractor = contractor;
 }
コード例 #16
0
 public Task <List <ContractorSkillOutput> > GetSkills(IContractor contractor)
 {
     return(Repository.Queryable().Where(x => x.ContractorId == contractor.Id)
            .ProjectTo <ContractorSkillOutput>(ProjectionMapping)
            .ToListAsync());
 }
コード例 #17
0
 public async Task <bool> Remove(IContractor contractor, Guid skillId)
 {
     return(await Repository
            .DeleteAsync(x => x.ContractorId == contractor.Id && x.SkillId == skillId, true));
 }