public ActionResult Profilo(string token)
        {
            PortaleWebProfiloViewModel viewModel = null;

            try
            {
                PortaleWebViewModel portale = (Session["portaleweb"] as List <PortaleWebViewModel>).Where(p => p.Token == token).SingleOrDefault();
                viewModel = new PortaleWebProfiloViewModel(portale);
                using (DatabaseContext db = new DatabaseContext())
                {
                    int      id    = Convert.ToInt32(portale.Id);
                    ATTIVITA model = db.ATTIVITA.SingleOrDefault(p => p.ID == id);
                    viewModel.CopyModel(model, model.ATTIVITA_EMAIL.Where(e => e.ID_ATTIVITA == model.ID).ToList(), model.ATTIVITA_TELEFONO.Where(e => e.ID_ATTIVITA == model.ID).ToList());
                    DateTime unAnnoFa = DateTime.Now.AddYears(-1);
                    // da sistemare e poi verificare che nella pubblicazione venga inviato anche il portale se necessario
                    // e nel caso non ci siano, togliere scelta portale e verificare lato server l'assenza del dato
                    // poi pensare alla visualizzazione del nome del portale sia sulle trattative che sulla visualizzazione
                    // della vendita
                    var bonus = db.TRANSAZIONE.Where(b => b.ID_CONTO_MITTENTE == model.ID_CONTO_CORRENTE &&
                                                     b.TIPO == (int)TipoTransazione.BonusFeedback &&
                                                     b.DATA_INSERIMENTO > unAnnoFa).ToList();
                    if (bonus != null)
                    {
                        viewModel.BonusSpeso = bonus.Sum(b => b.PUNTI);
                    }
                }
            }
            catch (Exception exception)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(exception);
                return(RedirectToAction("Index"));
            }
            return(View(viewModel));
        }
Exemple #2
0
        public ActionResult Details(string token)
        {
            PortaleWebProfiloViewModel viewModel = null;

            try
            {
                PortaleWebViewModel portale = null;
                if (Session["portaleweb"] != null)
                {
                    portale = (Session["portaleweb"] as List <PortaleWebViewModel>).Where(p => p.Token == token).SingleOrDefault();
                }

                if (portale != null)
                {
                    viewModel = new PortaleWebProfiloViewModel(portale);
                }
                using (DatabaseContext db = new DatabaseContext())
                {
                    ATTIVITA model = null;
                    if (portale != null)
                    {
                        int id = Convert.ToInt32(portale.Id);
                        model = db.ATTIVITA.SingleOrDefault(p => p.ID == id);
                    }
                    else
                    {
                        model     = db.ATTIVITA.SingleOrDefault(p => p.TOKEN.ToString() == token);
                        viewModel = new PortaleWebProfiloViewModel();
                    }
                    // se la pagina non viene trovata
                    if (model == null)
                    {
                        return(RedirectToAction("Index"));
                    }

                    viewModel.CopyModel(model, model.ATTIVITA_EMAIL.Where(e => e.ID_ATTIVITA == model.ID).ToList(), model.ATTIVITA_TELEFONO.Where(e => e.ID_ATTIVITA == model.ID).ToList());
                    DateTime unAnnoFa = DateTime.Now.AddYears(-1);
                    var      bonus    = db.TRANSAZIONE.Where(b => b.ID_CONTO_MITTENTE == model.ID_CONTO_CORRENTE &&
                                                             b.TIPO == (int)TipoTransazione.BonusFeedback &&
                                                             b.DATA_INSERIMENTO > unAnnoFa).ToList();
                    if (bonus != null)
                    {
                        viewModel.BonusSpeso = bonus.Sum(b => b.PUNTI);
                    }
                    viewModel.LoadExtra(db, model);
                }
            }
            catch (Exception exception)
            {
                //Elmah.ErrorSignal.FromCurrentContext().Raise(exception);
                LoggatoreModel.Errore(exception);
                return(RedirectToAction("Index"));
            }
            Session["happyPageAperta"] = token;
            return(View(viewModel));
        }
Exemple #3
0
 public ActionResult Details(PortaleWebProfiloViewModel viewModel)
 {
     try
     {
         if (base.ModelState.IsValid)
         {
             using (DatabaseContext db = new DatabaseContext())
             {
                 // da modificare
                 PortaleWebViewModel viewModel2 = (Session["portaleweb"] as List <PortaleWebViewModel>).Where(p => p.Token == viewModel.Token).SingleOrDefault();
                 int      idPartner             = Convert.ToInt32(viewModel2.Id);
                 ATTIVITA model = db.ATTIVITA.Where(p => p.ID == idPartner).SingleOrDefault();
                 model.NOME    = viewModel.Nome;
                 model.DOMINIO = viewModel.Dominio;
                 ATTIVITA_EMAIL modelEmail = model.ATTIVITA_EMAIL.SingleOrDefault(item => item.TIPO == (int)TipoEmail.Registrazione);
                 modelEmail.EMAIL = viewModel.Email;
                 db.ATTIVITA_EMAIL.Attach(modelEmail);
                 ATTIVITA_TELEFONO modelTelefono = model.ATTIVITA_TELEFONO.SingleOrDefault(item => item.TIPO == (int)TipoTelefono.Privato);
                 modelTelefono.TELEFONO = viewModel.Telefono;
                 db.ATTIVITA_TELEFONO.Attach(modelTelefono);
                 model.DATA_MODIFICA = DateTime.Now;
                 db.Entry <ATTIVITA>(model).State = System.Data.Entity.EntityState.Modified;
                 if (db.SaveChanges() > 0)
                 {
                     // trovare portaleweb modificato e sostituirlo
                     //Session["portaleweb"] = model;
                     Session["portaleweb"] = (Session["utente"] as PersonaModel).Persona.PERSONA_ATTIVITA
                                             .Select(item => new PortaleWebViewModel(item,
                                                                                     item.ATTIVITA.ATTIVITA_EMAIL.Where(e => e.ID_ATTIVITA == item.ID_ATTIVITA).ToList(),
                                                                                     item.ATTIVITA.ATTIVITA_TELEFONO.Where(t => t.ID_ATTIVITA == item.ID_ATTIVITA).ToList()
                                                                                     )).ToList();
                     TempData["salvato"] = true;
                 }
             }
         }
     }
     catch (Exception exception)
     {
         //Elmah.ErrorSignal.FromCurrentContext().Raise(exception);
         LoggatoreModel.Errore(exception);
     }
     return(View(viewModel));
 }