private TransportOfferListDTO TransportDTOtoList(TransportOfferDTO dto) { var res = new TransportOfferListDTO(); res.Currency = dto.TradeInfo.Price.Currency.Name; res.DocumentNo = dto.OfferNo; res.Driver = dto.Driver; res.Fracht = Math.Round(dto.TradeInfo.Price.Price, 2).ToString(); res.LoadDate = bp.shared.DateHelp.DateHelpful.FormatDateToYYYYMMDD(dto.Load.Date); res.LoadPlace = dto.Load.Locality; res.LoadPostalCode = dto.Load.PostalCode; res.Seller = dto.TradeInfo.Company.Short_name; if (dto.InvoiceSellId.HasValue) { res.StatusCode = "FS"; } res.Id = dto.TransportOfferId.Value; res.UnloadDate = bp.shared.DateHelp.DateHelpful.FormatDateToYYYYMMDD(dto.Unload.Date); res.UnloadPlace = dto.Unload.Locality; res.UnloadPostalCode = dto.Unload.PostalCode; return(res); }
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); }
private async void BtnSumbit_Click(object sender, EventArgs e) { if (txtboxPanel.Controls.OfType <TextBox>().ToArray().Any(txt => string.IsNullOrEmpty(txt.Text)) || offerThum.Image == null) { return; } var company = await new APIService("transportcompany"). GetById <TransportCompanyDTO>(int.Parse(cmbBox_TransportCompany.SelectedValue.ToString())); if (company == null) { return; } TransportOfferInsertRequest request = new TransportOfferInsertRequest { TransportCompanyId = int.Parse(cmbBox_TransportCompany.SelectedValue.ToString()), CityId = int.Parse(cmbBox_CityDestination.SelectedValue.ToString()), Price = float.Parse(txtbox_Price.Text), Discount = int.Parse(txtbox_Discount.Text), StartDate = DateTime.Parse(txtBox_StartDate.Text), EndDate = DateTime.Parse(txtbox_EndDate.Text), IsActive = txtBox_Active.Text == "YES"?true:false }; if (_id.HasValue) { var offer = await _service.GetById <TransportOfferDTO>(_id.Value); request.CityId = offer.CityId; } var image = new Bitmap(offerThum.Image, 400, 400); using (var newStream = new MemoryStream()) { image.Save(newStream, ImageFormat.Png); request.ThumbnailImage = newStream.ToArray(); } TransportOfferDTO res = null; if (_id.HasValue) { res = await _service.Update <TransportOfferDTO>(_id.Value, request); } else { res = await _service.Insert <TransportOfferDTO>(request); } var message = (res != null) ? "Successufully added new transport offer" : "Error: couldn't add new transport offer"; MessageBox.Show(message); }
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()); }
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); }
private async Task UpdateInvoiceSell(InvoiceSell dbInv, TransportOfferDTO dto) { var tradeInfoDTO = dto.TradeInfo; if (dbInv.Buyer == null || dbInv.BuyerId != tradeInfoDTO.Company.CompanyId) { //dbInv.Buyer = await this._db.Company.FirstOrDefaultAsync(f => f.CompanyId == tradeInfoDTO.Company.CompanyId); dbInv.Buyer = await this._companyService.CompanyMapper(dbInv.Buyer, dto.TradeInfo.Company); } if (dto.InvoiceInPLN) { dbInv.Currency = this._invoiceService._currencyList.FirstOrDefault(f => f.Name == "PLN"); } else { dbInv.Currency = this._invoiceService._currencyList.FirstOrDefault(f => f.CurrencyId == tradeInfoDTO.Price.Currency.CurrencyId); } dbInv.DateOfIssue = DateTime.Now; var extraInfo = dbInv.ExtraInfo ?? new InvoiceExtraInfo(); extraInfo.LoadNo = dto.OfferNo; if (dbInv.ExtraInfo == null) { extraInfo.InvoiceSell = dbInv; this._db.Entry(extraInfo).State = EntityState.Added; } dbInv.InvoiceNo = await this._invoiceService.GetNextInvoiceNo(dto.TradeInfo.Date); //invoice pos var price = dto.InvoiceInPLN ? tradeInfoDTO.Price.PlnValue: tradeInfoDTO.Price.Price; var brutto = Math.Round(price * 1.23, 2); var itemName = $"Usługa transportowa ({dto.Load.PostalCode} - {dto.Unload.PostalCode})"; var dbPos = new InvoicePos(); var posDTO = new InvoiceLineDTO { Brutto_value = brutto, Measurement_unit = "szt", //Name = $"Usługa transportowa", Name = itemName, Netto_value = price, Quantity = 1, Unit_price = price, Vat_rate = "23", Vat_unit_value = brutto - price, Vat_value = brutto - price }; this._invoiceService.MapperLine(dbPos, posDTO); if (dbInv.InvoicePosList == null || dbInv.InvoicePosList.Count == 0) { dbPos.InvoiceSell = dbInv; this._db.Entry(dbPos).State = EntityState.Added; } else { dbPos = dbInv.InvoicePosList.FirstOrDefault(); this._invoiceService.MapperLine(dbPos, posDTO); } var dbTotal = dbInv.InvoiceTotal ?? new InvoiceTotal(); dbTotal.TotalBrutto = brutto; dbTotal.TotalNetto = price; dbTotal.TotalTax = brutto - price; if (dbInv.InvoiceTotal == null) { dbTotal.InvoiceSell = dbInv; this._db.Entry(dbTotal).State = EntityState.Added; } var dbPaymentTerms = dbInv.PaymentTerms ?? new PaymentTerms(); this._invoiceService.MapperPaymentTerms(dbPaymentTerms, tradeInfoDTO.PaymentTerms); if (dbInv.PaymentTerms == null) { dbPaymentTerms.InvoiceSell = dbInv; this._db.Entry(dbPaymentTerms).State = EntityState.Added; } if (dbInv.RatesValuesList == null || dbInv.RatesValuesList.Count == 0) { var dbRate = new RateValue(); dbRate.BruttoValue = brutto; dbRate.NettoValue = price; dbRate.VatRate = "23"; dbRate.VatValue = brutto - price; dbRate.InvoiceSell = dbInv; this._db.Entry(dbRate).State = EntityState.Added; } else { var dbRate = dbInv.RatesValuesList.FirstOrDefault(); dbRate.BruttoValue = brutto; dbRate.NettoValue = price; dbRate.VatRate = "23"; dbRate.VatValue = brutto - price; } if (dbInv.Seller == null) { dbInv.Seller = await this._companyService.Owner(); } dbInv.SellingDate = dto.TradeInfo.Date; var dbInvTotal = dbInv.InvoiceTotal ?? new InvoiceTotal(); dbInvTotal.TotalBrutto = brutto; dbInvTotal.TotalNetto = tradeInfoDTO.Price.Price; dbInvTotal.TotalTax = brutto - tradeInfoDTO.Price.Price; if (dbInv.InvoiceTotal == null) { dbInvTotal.InvoiceSell = dbInv; this._db.Entry(dbInvTotal).State = EntityState.Added; } }