public async Task <ResponseDTO> ValidateEntityUpdate(ContractUpdateRequest request)
        {
            var errorMessage = "";
            Expression <Func <ContractRegisterRequest, bool> > queryFilter = p => p.RowStatus;

            queryFilter = queryFilter.And(p => p.ContractId != request.ContractId);
            queryFilter = queryFilter.And(p => p.TenantId == request.TenantId);
            queryFilter = queryFilter.And(p => p.ContractStatusCode == Constants.EntityStatus.Contract.Draft || p.ContractStatusCode == Constants.EntityStatus.Contract.Formalized);

            bool isValid  = true;
            var  contract = await _contractDataAccess.FirstOrDefaultAsync(queryFilter);

            if (contract != null)
            {
                isValid      = false;
                errorMessage = "Already Exists a tenant associated to other Lease Active or Future";
            }

            var response = new ResponseDTO()
            {
                IsValid  = string.IsNullOrEmpty(errorMessage),
                Messages = new List <ApplicationMessage>()
            };

            response.Messages.Add(new ApplicationMessage()
            {
                Key     = string.IsNullOrEmpty(errorMessage) ? "Ok" : "Error",
                Message = errorMessage
            });

            return(response);
        }
Пример #2
0
 [HttpPost, Route("update")]  //, AmigoTenantClaimsAuthorize(ActionCode = ConstantsSecurity.ActionCode.ContractUpdate)]
 public async Task <ResponseDTO> Update(ContractUpdateRequest contract)
 {
     if (ModelState.IsValid)
     {
         return(await _contractApplicationService.UpdateContractAsync(contract));
     }
     return(ModelState.ToResponse());
 }
Пример #3
0
        public async Task Update(Guid id, ContractUpdateRequest request)
        {
            var item = await _repo.GetItem(id);

            if (item != null)
            {
                item.UpdateFromRequest(request);
            }
        }
Пример #4
0
        /// <summary>Запрос на обновление контракта</summary>
        public static ContractUpdateRequest CreateRandomContractUpdateRequest()
        {
            var request = new ContractUpdateRequest()
            {
                Title       = "Contract Title",
                Description = "Contract Description",
            };

            return(request);
        }
Пример #5
0
        private string GetUpdateRequestContents()
        {
            var update = new ContractUpdateRequest()
            {
                Id              = _contract.Id,
                ContractNumber  = _contract.ContractNumber,
                ContractVersion = _contract.ContractVersion
            };

            return(JsonConvert.SerializeObject(update));
        }
        public async Task <ResponseDTO> UpdateContractAsync(ContractUpdateRequest contract)
        {
            //Map to Command

            var command = _mapper.Map <ContractUpdateRequest, ContractUpdateCommand>(contract);

            var response = await ValidateEntityUpdate(contract);

            if (response.IsValid)
            {
                //Execute Command
                var resp = await _bus.SendAsync(command);

                return(ResponseBuilder.Correct(resp));
            }

            return(response);
        }
Пример #7
0
        /// <inheritdoc/>
        public async Task NotifyContractReminderSent(Contract contractChange)
        {
            var updateRequest = new ContractUpdateRequest
            {
                Id              = contractChange.Id,
                ContractNumber  = contractChange.ContractNumber,
                ContractVersion = contractChange.ContractVersion
            };

            _logger.LogInformation($"Updating the last reminder date on contract with id [{contractChange.ContractNumber}].");
            await Patch(_dataApiConfiguration.ContractReminderPatchEndpoint.Endpoint, updateRequest);

            await _auditService.AuditAsync(
                new Pds.Audit.Api.Client.Models.Audit
            {
                Severity = 0,
                Action   = Audit.Api.Client.Enumerations.ActionType.ContractEmailReminderQueued,
                Ukprn    = contractChange.Ukprn,
                Message  = $"Updated 'Last email reminder sent date' for contract with Id {contractChange.Id}",
                User     = Audit_User_System
            });
        }
Пример #8
0
        public async Task <IActionResult> Update([FromRoute] Guid id, [FromBody] ContractUpdateRequest request)
        {
            await _manager.Update(id, request);

            return(Ok());
        }
Пример #9
0
 /// <summary>Обновление контракта</summary>
 /// <param name="request">Запрос на обновление контракта</param>
 public void UpdateFromRequest(ContractUpdateRequest request)
 {
     Title       = request.Title;
     Description = request.Description;
 }
Пример #10
0
 public dynamic Update(ContractUpdateRequest body)
 {
     throw new NotImplementedException();
 }