public async Task <ContractResponseModel> CheckTenderCanBeLinkedToContract([FromBody] ContractCanBeLinkedEnquiryModel contractCanBeLinkedEnquiryModel) { try { if (contractCanBeLinkedEnquiryModel == null) { throw new Exception("missing parameters"); } var res = await _contractAppService.CheckTenderCanBeLinkedToContract(contractCanBeLinkedEnquiryModel.TenderReferenceNumber, contractCanBeLinkedEnquiryModel.AgencyCode); ContractResponseModel contractResponseModel = _mapper.Map <ContractResponseModel>(res); return(contractResponseModel); } catch (NullReferenceException ex) { Logger.LogToFile(ex.Message.ToString(), "NullReferenceException"); _logger.LogError(ex.ToString(), ex); return(new ContractResponseModel() { StatusCode = ServiceStatusCodes.NoDataFound, StatusDesc = ex.Message }); } catch (Exception ex) { Logger.LogToFile(ex.Message.ToString(), "Exception"); _logger.LogError(ex.ToString(), ex); return(new ContractResponseModel() { StatusCode = ServiceStatusCodes.WrongInputData, StatusDesc = ex.Message }); } }
public IHttpActionResult Post(ContractResponseModel model) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var newContractId = this.contracts.Add( model.HitmanId, model.ClientId, model.Deadline, model.TargetName, model.Location); return(this.Created(this.Url.ToString(), newContractId)); }
public IHttpActionResult ApproveContract(ContractResponseModel model) { if (!this.ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var updated = this.contracts.UpdateConnectionStatus(model.Id, (ConnectionStatus)model.Status); if (updated == -1) { return(this.NotFound()); } return(this.Ok(updated)); }
public IHttpActionResult ApproveContract(ContractResponseModel model) { if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var updated = this.contracts.UpdateConnectionStatus(model.Id, (ConnectionStatus)model.Status); if (updated == -1) { return this.NotFound(); } return this.Ok(updated); }
public ContractResponseModel GenerateContractTemplate(int providerId, int contractId) { var contract = this.Data.ClientContracts .All() .ProjectTo<ClientContractViewModel>() .FirstOrDefault(c => c.Id == contractId); var contractTemplate = this.Data.Providers .GetById(providerId).ContractTemplate; var client = this.Data.Clients .All() .ProjectTo<ClientViewModel>() .FirstOrDefault(c => c.Id == contract.ClientId); var provider = this.Data.Providers .All() .ProjectTo<ProviderViewModel>() .FirstOrDefault(p => p.Id == providerId); var invoices = this.Data.Invoices .All() .ProjectTo<InvoiceViewModel>() .Where(i => i.ClientContractId == contract.Id) .ToList(); var channelsIds = this.Data.ClientContracts.GetById(contractId) .Channels .Select(c => c.Id) .ToList(); var channels = this.Data.Channels .All() .Where(c => channelsIds.Contains(c.Id)) .ProjectTo<ChannelViewModel>() .ToList(); var trds = this.Data.Trds .All() .ProjectTo<TrdViewModel>() .Where(t => t.ClientId == contract.ClientId) .ToList(); var clientTypeIf = int.Parse(client.TypeOfCompany); var typeOfClientContract = this.Data.TypeOfCompanies .All() .ProjectTo<TypeOfCompanyViewModel>() .FirstOrDefault(t => t.Id == clientTypeIf); var totalMgSubs = 0.0; var totalCps = 0.0; foreach (var invoice in invoices) { var mgSubsAsInt = invoice.MgSubs; var cpsInt = invoice.MgSubs; totalMgSubs += mgSubsAsInt; totalCps += cpsInt; } var sum = 0.0; if (invoices.Any()) { foreach (var invoice in invoices) { var msSubsAsDouble = invoice.MgSubs; var cpsAsDouble = invoice.Cps; sum += (msSubsAsDouble * cpsAsDouble); } } var response = new ContractResponseModel() { Sum = sum, Client = client, Provider = provider, Channels = channels, Invoices = invoices, Trds = trds, MgSubs = totalMgSubs, Cps = totalCps, ClientContractType = typeOfClientContract, Contract = contract, ContractTemplate = contractTemplate }; return response; }
public IHttpActionResult Post(ContractResponseModel model) { if (!this.ModelState.IsValid) { return this.BadRequest(this.ModelState); } var newContractId = this.contracts.Add( model.HitmanId, model.ClientId, model.Deadline, model.TargetName, model.Location); return this.Created(this.Url.ToString(), newContractId); }