public OffertaViewModel(DatabaseContext db, OFFERTA model) { SetDefault(); BarattiToken = new List <string>(); Id = model.ID; Token = Utility.Encode(model.ID); Annuncio = new AnnuncioViewModel(db, model.ANNUNCIO); Punti = Convert.ToDecimal(model.PUNTI).ToHappyCoin(); Soldi = Convert.ToDecimal(model.SOLDI).ToString("C"); Annuncio.Categoria = model.ANNUNCIO.CATEGORIA.NOME; Annuncio.Foto = model.ANNUNCIO.ANNUNCIO_FOTO.Select(f => new AnnuncioFoto() { ID_ANNUNCIO = f.ID_ANNUNCIO, ALLEGATO = f.ALLEGATO, DATA_INSERIMENTO = f.DATA_INSERIMENTO, DATA_MODIFICA = f.DATA_MODIFICA }).ToList(); Baratti = model.OFFERTA_BARATTO .Where(b => b.ID_OFFERTA == model.ID && b.ANNUNCIO != null) .Select(b => new AnnuncioViewModel() { Token = b.ANNUNCIO.TOKEN.ToString(), TipoAcquisto = b.ANNUNCIO.SERVIZIO != null ? TipoAcquisto.Servizio : TipoAcquisto.Oggetto, Nome = b.ANNUNCIO.NOME, Punti = b.ANNUNCIO.PUNTI.ToHappyCoin(), Soldi = Convert.ToDecimal(b.ANNUNCIO.SOLDI).ToString("C"), }).ToList(); BarattiToken = Baratti.Select(m => m.Token.ToString()).ToList(); Compratore = new UtenteVenditaViewModel(model.PERSONA); TipoOfferta = (TipoPagamento)model.TIPO_OFFERTA; TipoPagamento = (TipoPagamento)model.ANNUNCIO.TIPO_PAGAMENTO; StatoOfferta = (StatoOfferta)model.STATO; DataInserimento = (DateTime)model.DATA_INSERIMENTO; OFFERTA_SPEDIZIONE offertaSpedizione = model.OFFERTA_SPEDIZIONE.FirstOrDefault(); TipoScambio = TipoScambio.AMano; if (offertaSpedizione != null) { TipoScambio = TipoScambio.Spedizione; INDIRIZZO indirizzo = offertaSpedizione.INDIRIZZO; CapDestinatario = indirizzo.COMUNE.CAP; IndirizzoDestinatario = indirizzo.INDIRIZZO1; CivicoDestinatario = indirizzo.CIVICO; NominativoDestinatario = offertaSpedizione.NOMINATIVO_DESTINATARIO; TelefonoDestinatario = offertaSpedizione.TELEFONO_DESTINATARIO; SoldiSpedizione = offertaSpedizione.SOLDI.ToString("C"); ANNUNCIO_TIPO_SCAMBIO tipoScambio = model.ANNUNCIO.ANNUNCIO_TIPO_SCAMBIO.FirstOrDefault(m => m.TIPO_SCAMBIO == (int)TipoScambio.Spedizione); if (tipoScambio != null) { NomeCorriere = tipoScambio.ANNUNCIO_TIPO_SCAMBIO_SPEDIZIONE.FirstOrDefault() .CORRIERE_SERVIZIO_SPEDIZIONE.CORRIERE_SERVIZIO.CORRIERE.NOME; } } }
public AnnuncioViewModel(DatabaseContext db, ANNUNCIO model) { this.SetProprietaIniziali(); Id = model.ID; if (model.ID_ATTIVITA != null) { Venditore = new UtenteVenditaViewModel(model.ATTIVITA, model.PERSONA); SetFeedbackVenditore(model, TipoVenditore.Attivita); } else { Venditore = new UtenteVenditaViewModel(model.PERSONA); SetFeedbackVenditore(model, TipoVenditore.Persona); } Token = model.TOKEN.ToString(); Nome = model.NOME; TipoPagamento = (TipoPagamento)model.TIPO_PAGAMENTO; if (model.ID_SERVIZIO != null) { TipoAcquisto = TipoAcquisto.Servizio; } //Punti = model.PUNTI.ToHappyCoin(); Punti = model.PUNTI.ToString(); Soldi = Convert.ToDecimal(model.SOLDI).ToString("C"); DataInserimento = (DateTime)model.DATA_INSERIMENTO; CategoriaID = model.ID_CATEGORIA; Categoria = model.CATEGORIA.NOME; //TipoSpedizione = (Spedizione)model.TIPO_SPEDIZIONE; int venditaId = model.ID; Foto = model.ANNUNCIO_FOTO.Select(f => new AnnuncioFoto() { ID_ANNUNCIO = f.ID_ANNUNCIO, ALLEGATO = f.ALLEGATO, DATA_INSERIMENTO = f.DATA_INSERIMENTO, DATA_MODIFICA = f.DATA_MODIFICA }).ToList(); StatoVendita = (StatoVendita)model.STATO; Notificato = (model.ANNUNCIO_NOTIFICA.Count > 0) ? true : false; var listaInteressati = model.ANNUNCIO_DESIDERATO.Where(f => f.ID_ANNUNCIO == model.ID); NumeroInteressati = listaInteressati.Count(); PersonaModel utente = (HttpContext.Current.Session["utente"] as PersonaModel); if (utente != null) { int idUtente = utente.Persona.ID; Desidero = listaInteressati.FirstOrDefault(m => m.ID_PERSONA == idUtente) != null; // controllo se l'utente ha già proposto lo stesso annuncio int? idAnnuncioOriginale = model.ID_ORIGINE; ANNUNCIO copiaAnnuncio = db.ANNUNCIO.SingleOrDefault(m => m.ID_PERSONA == idUtente && (m.STATO == (int)StatoVendita.ATTIVO || m.STATO == (int)StatoVendita.INATTIVO) && ((m.ID_ORIGINE == idAnnuncioOriginale && idAnnuncioOriginale != null) || m.ID_ORIGINE == model.ID)); if (copiaAnnuncio != null) { TokenAnnuncioCopiato = Utility.RandomString(3) + copiaAnnuncio.TOKEN + Utility.RandomString(3); } } CondivisioneFacebookG4G = (StatoPubblicaAnnuncioFacebook?)model.CONDIVISIONE_FACEBOOK_G4G; CondivisioneFacebookUtente = (StatoPubblicaAnnuncioFacebook?)model.CONDIVISIONE_FACEBOOK_UTENTE; DataPubblicazioneFacebook = model.DATA_PUBBLICAZIONE_FACEBOOK; }