public static CRMRendezVous InsertRDV(CRMRendezVous rdv)
        {
            using (UpsilabEntities db = new UpsilabEntities())
            {
                db.CRMRendezVous.Attach(rdv);
                db.ObjectStateManager.ChangeObjectState(rdv, System.Data.EntityState.Added);
                db.SaveChanges();

                return rdv;
            }
        }
        public static CRMRendezVous UpdateRDV(CRMRendezVous rdv)
        {
            using (UpsilabEntities db = new UpsilabEntities())
            {

                var rdvtoupdate = db.CRMRendezVous.Where(f => f.idCRMRendezVous == rdv.idCRMRendezVous).FirstOrDefault();
                rdvtoupdate.Date = rdv.Date;
                rdvtoupdate.DateAlerte = rdv.DateAlerte;
                rdvtoupdate.Detail = rdv.Detail;
                rdvtoupdate.Heure = rdv.Heure;
                rdvtoupdate.HeureAlerte = rdv.HeureAlerte;
                rdvtoupdate.Lieu = rdv.Lieu;
                rdvtoupdate.Objet = rdv.Objet;

                db.SaveChanges();
                return rdvtoupdate;
            }
        }
        public ActionResult InsertRDV(CRMRendezVous _crmRDV)
        {
            try
            {
                // Pas besoin d'enregistrer la date et l'heure d'envoi de l'alerte si le checkbox RecevoirAlerte n'est pas coché
                if (Request.Params["RecevoirAlerte"] == null)
                {
                    _crmRDV.DateAlerte = null;
                    _crmRDV.HeureAlerte = null;
                }

                if (Request.Params["Lieu"] != null)
                {
                    if (Request.Params["Lieu"] == "exterieur")
                    {
                        _crmRDV.Lieu = Request.Params["LieuRDV"];
                    }
                }

                CRMRendezVous newRDV = CRMRendezVousBL.InsertRDV(_crmRDV);
                Events newEvent = new Events()
                {
                    idCRMRendezVous = newRDV.idCRMRendezVous,
                    text = newRDV.Objet,
                    idCustomer = newRDV.idClient,
                    idUser = SessionManager.GetUserSession().idUser
                };

                #region Events
                DateTime start_date = DateTime.Now;
                if (newRDV.Date.HasValue)
                {
                    start_date = newRDV.Date.Value;

                    if (newRDV.Heure.HasValue)
                    {
                        start_date = newRDV.Date.Value.AddMinutes(this.ConvertToHour(newRDV.Heure.Value.ToString()));
                    }
                }
                newEvent.start_date = start_date;
                newEvent.end_date = start_date;

                EventsBL.InsertEvents(newEvent);
                #endregion

                ViewBag.Style = "style=color:green";
                ViewBag.Message = LanguageData.GetContent("appel_tel_bien_enregistee");
            }
            catch (Exception ex)
            {
                ViewBag.Style = "style=color:red";
                ViewBag.Message = LanguageData.GetContent("exception_titre") + ": " + ex.Message;
            }

            Guid gCustomerId = Guid.Empty;
            SessionManager.Get<Guid>(AgregAgendaClientIdSessionKey, out gCustomerId);

            return RedirectToAction("Index", new { id = gCustomerId });
        }
        public PartialViewResult LoadPopupSaisieRDV()
        {
            try
            {
                Guid gCustomerId = Guid.Empty;
                SessionManager.Get<Guid>(AgregAgendaClientIdSessionKey, out gCustomerId);

                //CustomerProspect cp = CustomerProspectBL.GetCustomerProspectById(gCustomerId);
                UpsilabEntities db = new UpsilabEntities();
                CustomerProspect cp = db.CustomerProspect.Where(c => c.idCustomer == gCustomerId && c.isDeleted == false).FirstOrDefault();

                if (cp == null)
                {
                    return PartialView("RetourPartial", LanguageData.GetContent("error_client_not_exists"));
                }
                else
                {
                    CRMRendezVous rdv = new CRMRendezVous()
                    {
                        idClient = gCustomerId
                    };

                    Tuple<CRMRendezVous, CustomerProspect> tuple = new Tuple<CRMRendezVous, CustomerProspect>(rdv, cp);
                    return PartialView("PopupSaisieRendezVousPartial", tuple);
                }
            }
            catch (Exception ex)
            {
                return PartialView("RetourPartial", ex.Message);
            }
        }
        public PartialViewResult LoadPopupSaisieRDV(string id)
        {
            try
            {
                Guid gCustomerId = Guid.Empty;

                if (Guid.TryParse(id, out gCustomerId))
                {
                    gCustomerId = new Guid(id);
                }

                CustomerProspect cp = CustomerProspectBL.GetCustomerProspectById(gCustomerId);

                if (cp == null)
                {
                    return PartialView("RetourPartial", LanguageData.GetContent("error_client_not_exists"));
                }
                else
                {
                    CRMRendezVous rdv = new CRMRendezVous() 
                    {
                        idClient = gCustomerId
                    };

                    Tuple<CRMRendezVous, CustomerProspect> tuple = new Tuple<CRMRendezVous, CustomerProspect>(rdv, cp);
                    return PartialView("PopupSaisieRendezVousPartial", tuple);
                }
            }
            catch (Exception ex)
            {
                return PartialView("RetourPartial", ex.Message);
            }
        }
 public PartialViewResult LoadPopupSaisieRDV()
 {
     try
     {
         Guid gCustomerId = Guid.Empty;
         Guid idCGP = SessionManager.GetUserSession().idUser;                
                         
         CRMRendezVous rdv = new CRMRendezVous()
         {
             idClient = gCustomerId
         };
         return PartialView("PopupAjoutRendezVousPartial", rdv);
         
     }
     catch (Exception ex)
     {
         return PartialView("RetourPartial", ex.Message);
     }
 }
        public ActionResult InsertRDV(CRMRendezVous _crmRDV)
        {
            try
            {
                // Pas besoin d'enregistrer la date et l'heure d'envoi de l'alerte si le checkbox RecevoirAlerte n'est pas coché
                if (Request.Params["RecevoirAlerte"] == null)
                {
                    _crmRDV.DateAlerte = null;
                    _crmRDV.HeureAlerte = null;
                }

                if (Request.Params["Lieu"] != null)
                {
                    if (Request.Params["Lieu"] == "exterieur")
                    {
                        _crmRDV.Lieu = Request.Params["LieuRDV"];
                    }
                }
                var isupdate = (_crmRDV.idCRMRendezVous > 0);
                CRMRendezVous _RDV = isupdate ? CRMRendezVousBL.UpdateRDV(_crmRDV) : CRMRendezVousBL.InsertRDV(_crmRDV);
                Events _event = isupdate ? EventsBL.GetEventbyIdRdv(_crmRDV.idCRMRendezVous) : new Events
                {
                    idCRMRendezVous = _RDV.idCRMRendezVous,
                    idCustomer = _RDV.idClient,
                    idUser = SessionManager.GetUserSession().idUser
                };

                #region Events
                DateTime start_date = DateTime.Now;
                _event.start_date = start_date;
                _event.end_date = start_date;
                _event.text = _RDV.Objet;

                if (_RDV.Date.HasValue)
                {
                    _event.start_date = _RDV.Date.Value;
                    if (_RDV.Heure.HasValue)
                    {
                        _event.end_date = _RDV.Date.Value.AddMinutes(this.ConvertToHour(_RDV.Heure.Value.ToString()));
                    }
                }

                if (isupdate)
                {                    
                    EventsBL.UpdateEvents(_event);
                }
                else
                    EventsBL.InsertEvents(_event);
                #endregion

                ViewBag.Style = "style=color:green";
                ViewBag.Message = LanguageData.GetContent("appel_tel_bien_enregistee");
            }
            catch (Exception ex)
            {
                ViewBag.Style = "style=color:red";
                ViewBag.Message = LanguageData.GetContent("exception_titre") + ": " + ex.Message;
            }

            return RedirectToAction("Index", new { id = this.idCustomer });
        }