Exemple #1
0
        public Firm UpdateWith(FirmDto request)
        {
            Name    = request.Name;
            Address = request.Address;

            return(this);
        }
Exemple #2
0
        private static IInfoRussiaDto ParseFirm(XElement xml)
        {
            var branchCode = (int?)xml.Attribute("BranchCode");

            if (branchCode == null)
            {
                // не импортируем фирмы без проектов
                return(null);
            }

            var firmDto = new FirmDto
            {
                Id        = (long)xml.Attribute("Code"),
                Name      = (string)xml.Attribute("Name"),
                ProjectId = branchCode.Value,

                ClosedForAscertainment = (bool?)xml.Attribute("IsHidden") ?? false,
                IsActive  = !((bool?)xml.Attribute("IsArchived") ?? false),
                IsDeleted = (bool?)xml.Attribute("IsDeleted") ?? false,
            };

            return(firmDto);
        }
 public async Task <IActionResult> Update(FirmDto request)
 {
     return(HandleServiceResponse(await _service.UpdateAsync(GetClaims(), request)));
 }
Exemple #4
0
        public async Task <ServiceResponse <FirmDto> > UpdateAsync(ClaimsPrincipal claims, FirmDto request)
        {
            var response = new ServiceResponse <FirmDto>();

            var found = await claims.GetFirmIfHasMinPermissionOf(_repository, request.Id, Permission.Manage);

            if (found == null)
            {
                response.FailForbiden();
                return(response);
            }

            var result = await _repository.UpdateAsync(found.UpdateWith(request));

            if (result == 0)
            {
                response.FailOperation();
                return(response);
            }
            response.Data = _mapper.Map <FirmDto>(found);

            return(response);
        }
Exemple #5
0
        public async Task <ServiceResponse <FirmDto> > AddAsync(ClaimsPrincipal claims, FirmDto request)
        {
            var response = new ServiceResponse <FirmDto>();

            var user = await _userManager.FindByIdAsync(claims.GetUserId());

            var firm     = _mapper.Map <Firm>(request);
            var firmUser = new FirmUser()
            {
                Firm       = firm,
                User       = user,
                Permission = Permission.Manage
            };


            _repository.Add(firm);
            _repository.Add(firmUser);

            var result = await _repository.CommitAsnyc();

            if (result == 0)
            {
                response.FailOperation();
                return(response);
            }
            response.Data = _mapper.Map <FirmDto>(firm);


            return(response);
        }