private async Task TransportOfferMapper(TransportOffer dbTrans, TransportOfferDTO tDTO) { //if(dbTrans.Company==null || dbTrans.CompanyId!=tDTO.TradeInfo.Company.CompanyId) //{ // dbTrans.Company =await this._db.Company.FirstOrDefaultAsync(f => f.CompanyId == tDTO.TradeInfo.Company.CompanyId); //} //if (dbTrans.Company == null) { // dbTrans.Company = new Company(); // _db.Entry(dbTrans.Company).State = EntityState.Added; //} dbTrans.Company = await this._companyService.CompanyMapper(dbTrans.Company, tDTO.TradeInfo.Company); dbTrans.Driver = string.IsNullOrWhiteSpace(tDTO.Driver) ? null : tDTO.Driver; if (dbTrans.CurrencyNbp == null) { dbTrans.CurrencyNbp = new CurrencyNbp(); _db.Entry(dbTrans.CurrencyNbp).State = EntityState.Added; } this._invoiceService.MapperCurrencyNb(dbTrans.CurrencyNbp, tDTO.TradeInfo.Price); dbTrans.Date = tDTO.TradeInfo.Date; dbTrans.Info = tDTO.Info; var dbLoadAdd = dbTrans.Load ?? new TransportOfferAddress(); //load if (dbTrans.Load == null) { dbTrans.Load = new TransportOfferAddress(); _db.Entry(dbTrans.Load).State = EntityState.Added; } this.TransportOfferAddressMapper(dbTrans.Load, tDTO.Load); dbTrans.OfferNo = tDTO.OfferNo; var dbPaymentTerms = dbTrans.PaymentTerms ?? new PaymentTerms(); this._invoiceService.MapperPaymentTerms(dbPaymentTerms, tDTO.TradeInfo.PaymentTerms); if (dbTrans.PaymentTerms == null) { dbPaymentTerms.TransportOffer = dbTrans; this._db.Entry(dbPaymentTerms).State = EntityState.Added; } //unload if (dbTrans.Unload == null) { dbTrans.Unload = new TransportOfferAddress(); _db.Entry(dbTrans.Unload).State = EntityState.Added; } this.TransportOfferAddressMapper(dbTrans.Unload, tDTO.Unload); this._commonFunctions.CreationInfoUpdate((CreationInfo)dbTrans, tDTO.CreationInfo, User); }
public async Task <IActionResult> Put(int id, [FromBody] TransportOfferDTO tDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var dbTrans = new TransportOffer(); if (id == 0) { await this.TransportOfferMapper(dbTrans, tDTO); this._db.Entry(dbTrans).State = EntityState.Added; } else { dbTrans = await this.TransportOfferQueryable() .FirstOrDefaultAsync(f => f.TransportOfferId == id); if (dbTrans == null) { return(BadRequest(bp.sharedLocal.ModelStateHelpful.ModelStateHelpful.ModelError("Error", $"Nie znaleziono transportu o Id: {id}"))); } await this.TransportOfferMapper(dbTrans, tDTO); } try { await this._db.SaveChangesAsync(); } catch (Exception e) { throw e; } return(NoContent()); }
public async Task <IActionResult> GetById(int id) { var dbTrans = new TransportOffer(); if (id == 0) { dbTrans = await this.TransportOfferQueryable() .OrderByDescending(o => o.TransportOfferId) .FirstOrDefaultAsync(); } else { dbTrans = await this.TransportOfferQueryable() .FirstOrDefaultAsync(f => f.TransportOfferId == id); } if (dbTrans == null) { //return BadRequest(bp.sharedLocal.ModelStateHelpful.ModelStateHelpful.ModelError("Błąd", $"Nie znaleziono Transportu o Id: {id}")); return(NotFound()); } return(Ok(this.EtDTOTransportOffer(dbTrans))); }
private TransportOfferDTO EtDTOTransportOffer(TransportOffer dbTrans) { var res = new TransportOfferDTO(); res.CreationInfo = new bp.shared.CommonFunctions().EtDTOCreationInfoMapper((CreationInfo)dbTrans); res.Driver = dbTrans.Driver; res.Info = dbTrans.Info; res.InvoiceSellId = dbTrans.InvoiceSell != null ? dbTrans.InvoiceSellId : null; res.InvoiceSellNo = dbTrans.InvoiceSell?.InvoiceNo; res.Load = this.EtDTOTransportOfferAddress(dbTrans.Load); res.OfferNo = dbTrans.OfferNo; res.TradeInfo = new TradeInfoDTO(); res.TradeInfo.Company = this._companyService.EtDTOCompany(dbTrans.Company); res.TradeInfo.Date = dbTrans.Date; res.TradeInfo.PaymentTerms = this._invoiceService.EtoDTOPaymentTerms(dbTrans.PaymentTerms); res.TradeInfo.Price = this._invoiceService.EtoDTOCurrencyNbp(dbTrans.CurrencyNbp); res.TransportOfferId = dbTrans.TransportOfferId; res.Unload = this.EtDTOTransportOfferAddress(dbTrans.Unload); return(res); }