public bool SalvaSuDB(DatabaseContext db, PersonaModel utente = null) { // salvare su database PERSONA_SEGNALAZIONE model = new PERSONA_SEGNALAZIONE(); if (utente != null) { model.ID_PERSONA = utente.Persona.ID; } model.IP = IP; model.EMAIL_RISPOSTA = Email; model.OGGETTO = Tipo.ToString() + ": " + Oggetto; model.TESTO = Testo; if (Allegato != null) { model.ALLEGATO = UploadFile(Allegato); } model.CONTROLLER = Controller; model.VISTA = Vista; model.DATA_INVIO = DateTime.Now; model.STATO = (int)Stato.ATTIVO; db.PERSONA_SEGNALAZIONE.Add(model); bool risultato = db.SaveChanges() > 0; _Id = model.ID; return(risultato); }
public UtenteProfiloViewModel(PersonaModel model) { Token = model.Persona.TOKEN.ToString(); Foto = model.Foto; Nome = model.Persona.NOME; Cognome = model.Persona.COGNOME; }
public void SetDefault() { Baratti = new List <AnnuncioViewModel>(); //BarattiToken = new List<string>(); TipoOfferta = TipoPagamento.HAPPY; PersonaModel utente = (HttpContext.Current.Session["utente"] as PersonaModel); if (utente != null) { PERSONA_INDIRIZZO indirizzo = utente.Indirizzo.FirstOrDefault(m => m.TIPO == (int)TipoIndirizzo.Residenza); NominativoDestinatario = utente.NomeVisibile; PERSONA_TELEFONO telefono = utente.Telefono.FirstOrDefault(m => m.TIPO == (int)TipoTelefono.Privato); if (telefono != null) { TelefonoDestinatario = telefono.TELEFONO; } if (indirizzo != null) { CapDestinatario = indirizzo.INDIRIZZO.COMUNE.CAP; IndirizzoDestinatario = indirizzo.INDIRIZZO.INDIRIZZO1; CivicoDestinatario = indirizzo.INDIRIZZO.CIVICO; } PERSONA_INDIRIZZO indirizzoSpedizione = utente.Indirizzo.FirstOrDefault(m => m.TIPO == (int)TipoIndirizzo.Spedizione); if (indirizzoSpedizione != null && indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE != null && indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE.Count() > 0) { PERSONA_INDIRIZZO_SPEDIZIONE datiSpedizione = indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE.FirstOrDefault(); NominativoDestinatario = datiSpedizione.NOMINATIVO; TelefonoDestinatario = datiSpedizione.TELEFONO; InfoExtraDestinatario = datiSpedizione.INFO_EXTRA; CapDestinatario = indirizzoSpedizione.INDIRIZZO.COMUNE.CAP; IndirizzoDestinatario = indirizzoSpedizione.INDIRIZZO.INDIRIZZO1; CivicoDestinatario = indirizzoSpedizione.INDIRIZZO.CIVICO; } } }
public bool SaveRicerca(DatabaseContext db, ControllerContext controller) { HttpCookie cookie = HttpContext.Current.Request.Cookies.Get("ricerca"); PersonaModel utente = (HttpContext.Current.Request.IsAuthenticated) ? (HttpContext.Current.Session["utente"] as PersonaModel) : (HttpContext.Current.Session["utenteRicerca"] as PersonaModel); PERSONA_RICERCA personaRicerca = new PERSONA_RICERCA(); RICERCA ricerca = new RICERCA(); //model.UTENTE1 = utente; personaRicerca.ID_PERSONA = utente.Persona.ID; ricerca.ID_CATEGORIA = Convert.ToInt32(cookie["IDCategoria"]); ricerca.NOME = cookie["Nome"]; ricerca.DATA_INSERIMENTO = DateTime.Now; ricerca.DATA_MODIFICA = ricerca.DATA_INSERIMENTO; ricerca.STATO = (int)Stato.ATTIVO; db.RICERCA.Add(ricerca); if (db.SaveChanges() > 0) { personaRicerca.ID_RICERCA = ricerca.ID; db.PERSONA_RICERCA.Add(personaRicerca); if (db.SaveChanges() > 0) { ResetFiltriRicerca(); LoadProprieta(personaRicerca); SendMailRicercaSalvata(utente, personaRicerca, controller); } } return(false); }
public int?eseguiFromStoredProcedure(string offerta, PersonaModel utente) { //string token = acquisto.Trim().Substring(3, acquisto.Trim().Length - 6); int idOfferta = Utility.DecodeToInt(offerta.Trim().Substring(3, offerta.Trim().Length - 6)); using (DatabaseContext db = new DatabaseContext()) { System.Data.Entity.Core.Objects.ObjectParameter errore = new System.Data.Entity.Core.Objects.ObjectParameter("Errore", typeof(ErrorePagamento)); errore.Value = ErrorePagamento.Nessuno; Guid portaleWeb = Guid.Parse(System.Configuration.ConfigurationManager.AppSettings["portaleweb"]); // DEVO CAMBIARE E FARMI TORNARE IL TRANSAZIONE EFFETTUATO int?idPagamento = db.BENE_SAVE_PAGAMENTO(idOfferta, utente.Persona.ID_CONTO_CORRENTE, errore).FirstOrDefault(); this.Errore = (ErrorePagamento)errore.Value; if (this.Errore != ErrorePagamento.Nessuno) { return(null); } if (idPagamento == null) { this.Errore = ErrorePagamento.Proprietario; } return(idPagamento); } }
public void AddCrediti(DatabaseContext db, int idOfferta, PersonaModel persona, int punti) { using (DbContextTransaction transazione = db.Database.BeginTransaction()) { List <CONTO_CORRENTE_MONETA> lista = db.CONTO_CORRENTE_MONETA .Where(item => item.ID_CONTO_CORRENTE == persona.Persona.ID_CONTO_CORRENTE).ToList(); if (lista == null || lista.Count < punti) { throw new Exception(App_GlobalResources.Language.ErrorMoney); } for (int i = 0; i < punti; i++) { OFFERTA_CONTO_CORRENTE_MONETA model = new OFFERTA_CONTO_CORRENTE_MONETA(); model.ID_OFFERTA = idOfferta; model.ID_CONTO_CORRENTE_MONETA = lista[i].ID; model.DATA_INSERIMENTO = DateTime.Now; model.STATO = (int)StatoOfferta.ATTIVA; db.OFFERTA_CONTO_CORRENTE_MONETA.Add(model); db.CONTO_CORRENTE_MONETA.Attach(lista[i]); } db.SaveChanges(); transazione.Commit(); } }
public static bool IsUtenteAttivo(int tipoAzione, TempDataDictionary tempData = null) { PersonaModel utente = (HttpContext.Current.Session["utente"] as PersonaModel); bool reindirizza = true; if (utente.Persona.STATO == (int)Stato.INATTIVO) { reindirizza = false; if (tempData != null) { tempData["completaRegistrazione"] = (tipoAzione == 0) ? Language.PubblicaAnnuncioCompletaRegistrazione : Language.AcquistaCompletaRegistrazione; } } if (utente.Email.SingleOrDefault(m => m.TIPO == (int)TipoEmail.Registrazione).STATO == (int)Stato.INATTIVO) { reindirizza = false; if (tempData != null) { tempData["confermaEmail"] = (tipoAzione == 0) ? Language.PubblicaAnnuncioConfermaEmail : Language.AcquistaConfermaEmail; } } return(reindirizza); }
public bool IsVenditore(PersonaModel utente) { if ((Tipo == TipoVenditore.Persona && Persona.ID == utente.Persona.ID) || (Tipo == TipoVenditore.Attivita && utente.Attivita.Count(m => m.ID == Attivita.ID) > 0)) { return(true); } return(false); }
private void SendMailRicercaSalvata(PersonaModel utente, PERSONA_RICERCA model, ControllerContext controller) { // invio email salvataggio ricerca EmailModel email = new EmailModel(controller); email.To.Add(new System.Net.Mail.MailAddress(utente.Email.FirstOrDefault(item => item.TIPO == (int)TipoEmail.Registrazione).EMAIL, utente.Persona.NOME + ' ' + utente.Persona.COGNOME)); email.Subject = string.Format(App_GlobalResources.Email.SearchSaveSubject, model.RICERCA.NOME) + " - " + WebConfigurationManager.AppSettings["nomeSito"]; email.Body = "SalvataggioRicerca"; email.DatiEmail = model; new EmailController().SendEmail(email); }
public VerificaOfferta CheckAccettaOfferta(PersonaModel utente, OFFERTA model) { decimal credito = model.PERSONA.CONTO_CORRENTE.CONTO_CORRENTE_CREDITO .Where(m => m.STATO == (int)StatoCredito.SOSPESO).Sum(m => m.PUNTI); //int credito = utente.Credito.Count(m => m.STATO == (int)StatoCredito.ASSEGNATO); if (model.PERSONA.STATO != (int)Stato.ATTIVO) { return(VerificaOfferta.CompratoreNonAttivo); } if (model.ID_PERSONA == utente.Persona.ID) { return(VerificaOfferta.OffertaNonValida); } if (!(model.STATO == (int)StatoOfferta.ATTIVA || model.STATO == (int)StatoOfferta.SOSPESA || model.STATO == (int)StatoOfferta.ACCETTATA_ATTESO_PAGAMENTO)) { return(VerificaOfferta.OffertaNonDisponibile); } if (model.PUNTI > credito) { return(VerificaOfferta.CreditiNonSufficienti); } if (utente.Persona.STATO != (int)Stato.ATTIVO) { return(VerificaOfferta.VenditoreNonAttivo); } if (model.OFFERTA_SPEDIZIONE.Count() > 0) { OFFERTA_SPEDIZIONE spedizione = model.OFFERTA_SPEDIZIONE.FirstOrDefault(m => m.STATO != (int)StatoSpedizione.PAGATA); if (spedizione != null && spedizione.SOLDI > 0) { return(VerificaOfferta.VerificaCartaDiCredito); } } if ((int)this.SOLDI > 0 && model.ANNUNCIO.TIPO_PAGAMENTO != (int)TipoPagamento.HAPPY) { return(VerificaOfferta.VerificaCartaDiCredito); } return(VerificaOfferta.Ok); }
public void SetDefault() { PersonaModel utente = (HttpContext.Current.Session["utente"] as PersonaModel); PERSONA_INDIRIZZO indirizzo = utente.Indirizzo.FirstOrDefault(m => m.TIPO == (int)TipoIndirizzo.Residenza); NominativoDestinatario = utente.NomeVisibile; PERSONA_TELEFONO telefono = utente.Telefono.FirstOrDefault(m => m.TIPO == (int)TipoTelefono.Privato); if (telefono != null) { TelefonoDestinatario = telefono.TELEFONO; } if (indirizzo != null) { CapDestinatario = indirizzo.INDIRIZZO.COMUNE.CAP; IndirizzoDestinatario = indirizzo.INDIRIZZO.INDIRIZZO1; CivicoDestinatario = indirizzo.INDIRIZZO.CIVICO; } PERSONA_INDIRIZZO indirizzoSpedizione = utente.Indirizzo.FirstOrDefault(m => m.TIPO == (int)TipoIndirizzo.Spedizione); if (indirizzoSpedizione != null && indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE != null && indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE.Count() > 0) { PERSONA_INDIRIZZO_SPEDIZIONE datiSpedizione = indirizzoSpedizione.PERSONA_INDIRIZZO_SPEDIZIONE.FirstOrDefault(); NominativoDestinatario = datiSpedizione.NOMINATIVO; TelefonoDestinatario = datiSpedizione.TELEFONO; InfoExtraDestinatario = datiSpedizione.INFO_EXTRA; CapDestinatario = indirizzoSpedizione.INDIRIZZO.COMUNE.CAP; IndirizzoDestinatario = indirizzoSpedizione.INDIRIZZO.INDIRIZZO1; CivicoDestinatario = indirizzoSpedizione.INDIRIZZO.CIVICO; } NomeTitolareCarta = utente.Persona.NOME; CognomeTitolareCarta = utente.Persona.COGNOME; // caricare ultimo o i metodi di pagamento inseriti, caricandoli prima nella sessione utente PERSONA_METODO_PAGAMENTO metodoPagamento = utente.MetodoPagamento.LastOrDefault(); if (metodoPagamento != null) { TipoCarta = (TipoCartaCredito)metodoPagamento.TIPO_CARTA; NumeroCarta = metodoPagamento.NUMERO; Cvv2 = (int)metodoPagamento.CVV2; MeseScadenzaCarta = (Month)metodoPagamento.MESE; AnnoScadenzaCarta = (int)metodoPagamento.ANNO; NomeTitolareCarta = metodoPagamento.NOME; CognomeTitolareCarta = metodoPagamento.COGNOME; } }
public void RemoveCrediti(DatabaseContext db, int idOfferta, PersonaModel persona) { foreach (OFFERTA_CONTO_CORRENTE_MONETA item in db.OFFERTA_CONTO_CORRENTE_MONETA.Where(item => item.ID_OFFERTA == idOfferta).ToList()) { CONTO_CORRENTE_MONETA conto = item.CONTO_CORRENTE_MONETA; conto.STATO = (int)StatoMoneta.ASSEGNATA; db.CONTO_CORRENTE_MONETA.Attach(conto); var entry = db.Entry(conto); entry.Property(e => e.STATO).IsModified = true; if (db.SaveChanges() > 0) { db.OFFERTA_CONTO_CORRENTE_MONETA.Remove(item); db.SaveChanges(); } else { throw new Exception(App_GlobalResources.Language.ErrorRecoveryPoints); } } }
public void Load(PersonaModel utente) { this.Email = utente.Email.SingleOrDefault(item => item.ID_PERSONA == utente.Persona.ID && item.TIPO == (int)TipoEmail.Registrazione) .EMAIL; this.Nome = utente.Persona.NOME; this.Cognome = utente.Persona.COGNOME; PERSONA_TELEFONO modelTelefono = utente.Telefono.SingleOrDefault(item => item.ID_PERSONA == utente.Persona.ID && item.TIPO == (int)TipoTelefono.Privato); if (modelTelefono != null) { this.Telefono = modelTelefono.TELEFONO; } PERSONA_INDIRIZZO modelIndirizzo = utente.Indirizzo.SingleOrDefault(item => item.ID_PERSONA == utente.Persona.ID && item.TIPO == (int)TipoIndirizzo.Residenza && item.STATO == (int)Stato.ATTIVO); if (modelIndirizzo != null && modelIndirizzo.INDIRIZZO != null) { this.Citta = modelIndirizzo.INDIRIZZO.COMUNE.NOME; this.IDCitta = modelIndirizzo.INDIRIZZO.ID_COMUNE; this.Indirizzo = modelIndirizzo.INDIRIZZO.INDIRIZZO1; this.Civico = modelIndirizzo.INDIRIZZO.CIVICO; } // caricamento indirizzo di spedizione PERSONA_INDIRIZZO modelIndirizzoSpedizione = utente.Indirizzo.SingleOrDefault(item => item.ID_PERSONA == utente.Persona.ID && item.TIPO == (int)TipoIndirizzo.Spedizione && item.STATO == (int)Stato.ATTIVO); if (modelIndirizzoSpedizione != null && modelIndirizzoSpedizione.INDIRIZZO != null) { this.CittaSpedizione = modelIndirizzoSpedizione.INDIRIZZO.COMUNE.NOME; this.IDCittaSpedizione = modelIndirizzoSpedizione.INDIRIZZO.ID_COMUNE; this.IndirizzoSpedizione = modelIndirizzoSpedizione.INDIRIZZO.INDIRIZZO1; this.CivicoSpedizione = modelIndirizzoSpedizione.INDIRIZZO.CIVICO; } this.HasLoginFacebook = utente.Persona.FACEBOOK_TOKEN_PERMANENTE != null; }
public void RemoveCrediti(DatabaseContext db, int idOfferta, int punti, PersonaModel persona) { var listaCrediti = db.CONTO_CORRENTE_CREDITO.Where(m => m.ID_CONTO_CORRENTE == persona.Persona.ID_CONTO_CORRENTE && m.ID_OFFERTA_USCITA == idOfferta && m.STATO == (int)StatoMoneta.SOSPESA).ToList(); listaCrediti.ForEach(m => { m.ID_OFFERTA_USCITA = null; m.DATA_MODIFICA = DateTime.Now; m.STATO = (int)StatoCredito.ASSEGNATO; }); if (db.SaveChanges() <= 0) { throw new Exception(App_GlobalResources.Language.ErrorRecoveryPoints); } // usato sull'annullo dell'offerta! 28-04-2018 //for (int i=0;i<punti;i++) //{ // CONTO_CORRENTE_MONETA conto = db.CONTO_CORRENTE_MONETA.FirstOrDefault(m => m.ID_CONTO_CORRENTE == persona.Persona.ID_CONTO_CORRENTE && m.STATO == (int)StatoMoneta.SOSPESA); // if (conto != null) // { // conto.STATO = (int)StatoMoneta.ASSEGNATA; // db.CONTO_CORRENTE_MONETA.Attach(conto); // var entry = db.Entry(conto); // entry.Property(e => e.STATO).IsModified = true; // if (db.SaveChanges() <= 0) // { // throw new Exception(App_GlobalResources.Language.ErrorRecoveryPoints); // } // } // else // { // throw new Exception(App_GlobalResources.Language.ErrorRecoveryPoints); // } //} }
public void SendEmail(System.Web.Mvc.ControllerContext controller, TRANSAZIONE pagamento, PersonaModel utente) { PERSONA venditore = pagamento.CONTO_CORRENTE.PERSONA.SingleOrDefault(); // impostare invio email pagamento effettuato EmailModel email = new EmailModel(controller); email.To.Add(new System.Net.Mail.MailAddress(venditore.PERSONA_EMAIL.SingleOrDefault(e => e.TIPO == (int)TipoEmail.Registrazione).EMAIL)); string nominativo = utente.Persona.NOME + " " + utente.Persona.COGNOME; email.Subject = String.Format(Email.PaymentSubject, pagamento.NOME, nominativo) + " - " + WebConfigurationManager.AppSettings["nomeSito"]; email.Body = "Pagamento"; email.DatiEmail = new SchedaPagamentoViewModel() { Nome = pagamento.NOME, Compratore = nominativo, Venditore = venditore.NOME + " " + venditore.COGNOME, Punti = (int)pagamento.PUNTI, Soldi = (int)pagamento.SOLDI, Data = pagamento.DATA_INSERIMENTO, }; new EmailController().SendEmail(email); }
public bool SalvaRegistrazione(ControllerContext controller, DatabaseContext db) { CONTO_CORRENTE conto = db.CONTO_CORRENTE.Create(); conto.ID = Guid.NewGuid(); conto.TOKEN = Guid.NewGuid(); conto.DATA_INSERIMENTO = DateTime.Now; conto.STATO = (int)Stato.ATTIVO; db.CONTO_CORRENTE.Add(conto); db.SaveChanges(); PBKDF2 crypto = new PBKDF2(); PERSONA persona = db.PERSONA.Create(); persona.TOKEN = Guid.NewGuid(); persona.TOKEN_PASSWORD = crypto.GenerateSalt(1, 20); persona.PASSWORD = crypto.Compute(this.Password.Trim(), persona.TOKEN_PASSWORD); persona.ID_CONTO_CORRENTE = conto.ID; persona.ID_ABBONAMENTO = db.ABBONAMENTO.SingleOrDefault(item => item.NOME == "BASE").ID; persona.DATA_INSERIMENTO = DateTime.Now; persona.STATO = (int)Stato.INATTIVO; // solo in caso di accesso con FB persona.FACEBOOK_TOKEN_SESSIONE = FacebookToken; persona.FACEBOOK_TOKEN_PERMANENTE = FacebookTokenPermanente; if (!string.IsNullOrWhiteSpace(this.Nome)) { persona.NOME = this.Nome.Trim(); } if (!string.IsNullOrWhiteSpace(this.Cognome)) { persona.COGNOME = this.Cognome.Trim(); } db.PERSONA.Add(persona); if (db.SaveChanges() > 0) { PERSONA_EMAIL personaEmail = db.PERSONA_EMAIL.Create(); personaEmail.ID_PERSONA = persona.ID; personaEmail.EMAIL = this.Email.Trim(); personaEmail.TIPO = (int)TipoEmail.Registrazione; personaEmail.DATA_INSERIMENTO = DateTime.Now; personaEmail.STATO = (int)Stato.INATTIVO; db.PERSONA_EMAIL.Add(personaEmail); if (db.SaveChanges() > 0) { PersonaModel utente = new PersonaModel(persona); // assegna bonus canale pubblicitario if (HttpContext.Current.Request.Cookies.Get("GXG_promo") != null) { string promo = HttpContext.Current.Request.Cookies.Get("GXG_promo").Value; utente.AddBonusCanalePubblicitario(db, promo); // reset cookie HttpCookie currentUserCookie = HttpContext.Current.Request.Cookies["GXG_promo"]; if (currentUserCookie != null) { HttpContext.Current.Response.Cookies.Remove("GXG_promo"); currentUserCookie.Expires = DateTime.Now.AddDays(-10); currentUserCookie.Value = null; HttpContext.Current.Response.SetCookie(currentUserCookie); } } InvioEmail(controller, persona, personaEmail); return(true); } } return(false); }
public bool Save(DatabaseContext db, ref string messaggio) { string tokenDecodificato = HttpContext.Current.Server.UrlDecode(this.Annuncio.Token); Guid tokenGuid = Guid.Parse(tokenDecodificato); PersonaModel utente = (PersonaModel)HttpContext.Current.Session["utente"]; decimal crediti = utente.Credito.Where(m => m.STATO == (int)StatoCredito.ASSEGNATO) .Select(m => m.PUNTI).Sum(); decimal puntiOfferta = 0; if (!string.IsNullOrWhiteSpace(this.Punti)) { puntiOfferta = this.Punti.ParseFromHappyCoin(); } bool baratto = false; if (this.BarattiToken != null && this.BarattiToken.Count > 0) { baratto = true; } ANNUNCIO annuncio = db.ANNUNCIO.SingleOrDefault(m => m.TOKEN == tokenGuid && m.ID_PERSONA != utente.Persona.ID && m.STATO == (int)StatoVendita.ATTIVO && puntiOfferta <= crediti && utente.Persona.STATO == (int)Stato.ATTIVO && ((m.OGGETTO != null && 1 <= m.OGGETTO.NUMERO_PEZZI) || (m.SERVIZIO != null)) && (baratto || puntiOfferta > 0)); if (annuncio != null) { // verifica se offerta già effettuata if (annuncio.OFFERTA.Count(o => o.ID_PERSONA == utente.Persona.ID && o.STATO != (int)StatoOfferta.ANNULLATA) > 0) { messaggio = App_GlobalResources.ErrorResource.BidInProgress; return(false); } // inserimento offerta OFFERTA offerta = new OFFERTA(); offerta.ID_ANNUNCIO = annuncio.ID; offerta.ID_PERSONA = utente.Persona.ID; offerta.PUNTI = puntiOfferta; //offerta.SOLDI = decimal.Parse(this.Soldi, System.Globalization.NumberStyles.Currency); offerta.SOLDI = Utility.cambioValuta(offerta.PUNTI); offerta.TIPO_OFFERTA = (int)this.TipoOfferta; offerta.TIPO_TRATTATIVA = (int)this.TipoPagamento; // DA VERIFICARE CHE COSA SERVA offerta.DATA_INSERIMENTO = DateTime.Now; offerta.STATO = (int)StatoOfferta.ATTIVA; db.OFFERTA.Add(offerta); if (db.SaveChanges() > 0) { // Sospensione crediti associati all'offerta if (offerta.PUNTI > 0) { ContoCorrenteCreditoModel credito = new ContoCorrenteCreditoModel(db, utente.Persona.ID_CONTO_CORRENTE); credito.Suspend(offerta.ID, (decimal)offerta.PUNTI); } decimal soldiSpedizione = 0; if (baratto) { // se sto offrendo un baratto, inserisco gli oggetti barattati foreach (string annuncioDiScambio in this.BarattiToken) { OFFERTA_BARATTO offertaBaratto = new OFFERTA_BARATTO(); offertaBaratto.ID_OFFERTA = offerta.ID; var annuncioBaratto = db.ANNUNCIO.SingleOrDefault(m => m.TOKEN.ToString() == annuncioDiScambio && m.STATO == (int)StatoVendita.ATTIVO); offertaBaratto.ID_ANNUNCIO = annuncioBaratto.ID; offertaBaratto.DATA_INSERIMENTO = DateTime.Now; offertaBaratto.STATO = (int)Stato.ATTIVO; db.OFFERTA_BARATTO.Add(offertaBaratto); if (db.SaveChanges() <= 0) { return(false); } if (this.TipoScambio == TipoScambio.Spedizione) { var annuncioBarattoSpedizione = annuncioBaratto.ANNUNCIO_TIPO_SCAMBIO .FirstOrDefault(m => m.TIPO_SCAMBIO == (int)TipoScambio.Spedizione); soldiSpedizione += db.ANNUNCIO_TIPO_SCAMBIO_SPEDIZIONE .SingleOrDefault(m => m.ID_ANNUNCIO_TIPO_SCAMBIO == annuncioBarattoSpedizione.ID).SOLDI; } } } // aggiungere offerta_spedizione per salvare dati destinazione if (this.TipoScambio == TipoScambio.Spedizione) { OFFERTA_SPEDIZIONE offertaSpedizione = new OFFERTA_SPEDIZIONE(); offertaSpedizione.ID_OFFERTA = offerta.ID; INDIRIZZO indirizzo = db.INDIRIZZO.FirstOrDefault(m => m.INDIRIZZO1 == this.IndirizzoDestinatario && m.COMUNE.CAP == this.CapDestinatario && m.CIVICO == this.CivicoDestinatario); if (indirizzo == null) { indirizzo = new INDIRIZZO(); indirizzo.INDIRIZZO1 = this.IndirizzoDestinatario; indirizzo.CIVICO = this.CivicoDestinatario; indirizzo.ID_COMUNE = db.COMUNE.FirstOrDefault(m => m.CAP == this.CapDestinatario).ID; indirizzo.TIPOLOGIA = (int)TipoIndirizzo.Residenza; indirizzo.DATA_INSERIMENTO = DateTime.Now; indirizzo.STATO = (int)Stato.ATTIVO; db.INDIRIZZO.Add(indirizzo); db.SaveChanges(); } offertaSpedizione.SOLDI = soldiSpedizione; offertaSpedizione.ID_COMMISSIONE = GetCommissioneSpedizione(db, soldiSpedizione); offertaSpedizione.ID_INDIRIZZO_DESTINATARIO = indirizzo.ID; offertaSpedizione.NOMINATIVO_DESTINATARIO = this.NominativoDestinatario; offertaSpedizione.TELEFONO_DESTINATARIO = this.TelefonoDestinatario; TIPO_VALUTA tipoValuta = (HttpContext.Current.Application["tipoValuta"] as List <TIPO_VALUTA>).SingleOrDefault(m => m.SIMBOLO == System.Globalization.NumberFormatInfo.CurrentInfo.CurrencySymbol); offertaSpedizione.ID_TIPO_VALUTA = tipoValuta.ID; offertaSpedizione.DATA_INSERIMENTO = DateTime.Now; offertaSpedizione.STATO = (int)Stato.ATTIVO; db.OFFERTA_SPEDIZIONE.Add(offertaSpedizione); if (db.SaveChanges() <= 0) { return(false); } } return(true); } } else { messaggio = App_GlobalResources.ErrorResource.BidAd; return(false); } return(false); }
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; }