public ActionResult Calendar(string id, string fstartd, string fendd, string stores, string brands, string spartners)
        {
            Usuarios activeuser = Session["activeUser"] as Usuarios;

            if (activeuser != null)
            {
                //HEADER
                //PAGINAS ACTIVAS
                ViewData["Menu"]      = "Customers";
                ViewData["Page"]      = "Calendar";
                ViewBag.menunameid    = "marketing_menu";
                ViewBag.submenunameid = "";
                //List<string> d = new List<string>(activeuser.Departments.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstDepartments = JsonConvert.SerializeObject(d);
                //List<string> r = new List<string>(activeuser.Roles.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstRoles = JsonConvert.SerializeObject(r);

                //ViewData["nameUser"] =
                ////NOTIFICATIONS
                //DateTime now = DateTime.Today;
                //List<Tb_Alerts> lstAlerts = (from a in dblim.Tb_Alerts where (a.ID_user == activeuser.ID_User && a.Active == true && a.Date == now) select a).OrderByDescending(x => x.Date).Take(5).ToList();
                //ViewBag.lstAlerts = lstAlerts;

                //FIN HEADER
                ViewBag.username    = activeuser.nombre + " " + activeuser.apellido;
                ViewBag.id_customer = id;


                var visitas = new List <VisitsM>();
                var rutas   = new List <RoutesM>();

                DateTime filtrostartdate;
                DateTime filtroenddate;
                int      empresadef = 2;
                //filtros de fecha
                var sunday   = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                var saturday = sunday.AddDays(6).AddHours(23);
                //FILTROS**************

                if (fstartd == null || fstartd == "")
                {
                    filtrostartdate = sunday;
                }
                else
                {
                    filtrostartdate = Convert.ToDateTime(fstartd);
                }

                if (fendd == null || fendd == "")
                {
                    filtroenddate = saturday;
                }
                else
                {
                    filtroenddate = Convert.ToDateTime(fendd).AddHours(23).AddMinutes(59);
                }
                //FIN FILTROS*******************
                using (var db = new dbComerciaEntities())
                {
                    if ((activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 8) || activeuser.ID_tipomembresia == 1)
                    {
                        visitas = db.VisitsM.Where(d => d.visit_date >= filtrostartdate && d.end_date <= filtroenddate && d.ID_empresa == empresadef).ToList();
                        rutas   = db.RoutesM.Where(d => d.date >= filtrostartdate && d.end_date <= filtroenddate && d.ID_empresa == empresadef).OrderByDescending(d => d.date).ToList();
                    }
                    else
                    {
                        var visitrep = (from gg in db.VisitsM_representatives where (gg.ID_usuario == activeuser.ID_usuario) select gg.ID_visit).ToArray();


                        visitas = (from r in db.VisitsM where (visitrep.Contains(r.ID_visit) && r.visit_date >= filtrostartdate && r.end_date <= filtroenddate) select r).ToList();

                        var arrayVisiID = (from arr in visitas select arr.ID_route).ToArray();
                        rutas = (from rut in db.RoutesM where (arrayVisiID.Contains(rut.ID_route)) select rut).ToList();
                    }

                    //Agregamos los representantes y tambien el estado de cada visita por REP filtro
                    if (activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 9)
                    {
                        foreach (var itemVisita in visitas)
                        {
                            var repvisit = (from a in db.VisitsM_representatives where (a.ID_visit == itemVisita.ID_visit && a.ID_usuario == activeuser.ID_usuario) select a).FirstOrDefault();

                            itemVisita.ID_visitstate = Convert.ToInt32(repvisit.query1);
                        }
                    }


                    //ESTADISTICA DE RUTAS POR ESTADO DE VISITAS
                    decimal totalRutas = visitas.Count();
                    foreach (var rutait in rutas)
                    {
                        //int finishedorCanceled = (from e in visitas where ((e.ID_visitstate == 4 || e.ID_visitstate==1) && e.ID_route == rutait.ID_route) select e).Count();
                        decimal finishedorCanceled = (from e in visitas where ((e.ID_visitstate == 4) && e.ID_route == rutait.ID_route) select e).Count();
                        decimal inprogressv        = (from e in visitas where (e.ID_visitstate == 2 && e.ID_route == rutait.ID_route) select e).Count();
                        totalRutas = (from e in visitas where (e.ID_route == rutait.ID_route) select e).Count();

                        ViewBag.finished = finishedorCanceled;

                        if (totalRutas != 0)
                        {
                            if (inprogressv != 0 && finishedorCanceled != 0)
                            {
                                decimal n = (finishedorCanceled / totalRutas) * 100;
                                decimal m = (inprogressv / totalRutas) * 50;
                                rutait.query3 = (n + m).ToString();
                            }
                            else if (inprogressv == 0 && finishedorCanceled != 0)
                            {
                                rutait.query3 = (((Convert.ToDecimal(finishedorCanceled) / totalRutas) * 100)).ToString();
                            }
                            else if (inprogressv != 0 && finishedorCanceled == 0)
                            {
                                rutait.query3 = (((Convert.ToDecimal(inprogressv) / totalRutas) * 50)).ToString();
                            }
                            else
                            {
                                rutait.query3 = (Convert.ToDecimal(0)).ToString();
                            }
                        }
                        else
                        {
                            rutait.query3 = "0";
                        }
                    }

                    //MAPA DE RUTAS
                    var demos_map = (from a in rutas select a).ToList();

                    List <Usuarios> usuarios = new List <Usuarios>();
                    //Convertimos la lista a array
                    usuarios = db.Usuarios.Where(c => c.ID_empresa == 2 && c.ID_tipomembresia == 8 && c.ID_rol == 9).ToList();

                    //Convertimos la lista a array
                    ArrayList myArrList = new ArrayList();
                    myArrList.AddRange((from p in usuarios
                                        select new
                    {
                        id = p.ID_usuario,
                        text = p.nombre + " " + p.apellido
                    }).ToList());


                    //LISTADO DE REPRESENTANTES
                    using (var CMKdb = new COM_MKEntities())
                    {
                        ViewBag.usuarios = JsonConvert.SerializeObject(myArrList);
                        //LISTADO DE RUTAS
                        var rutass = CMKdb.C_ROUTES.OrderBy(c => c.Code);
                        ViewBag.rutass = rutass.ToList();
                        //LISTADO DE TIENDAS

                        List <MyObj_tablapadreRutas> listapadres = (from p in CMKdb.C_ROUTES
                                                                    select
                                                                    new MyObj_tablapadreRutas
                        {
                            id = p.Code,
                            text = p.Name
                        }
                                                                    ).ToList();

                        List <tablahijospadreRutas> listahijas = (from p in CMKdb.C_ROUTE
                                                                  join store in CMKdb.OCRD on p.U_CardCode equals store.CardCode
                                                                  select new tablahijospadreRutas
                        {
                            id = p.U_CardCode,
                            text = store.CardName.Replace("\"", "\\\""),
                            parent = p.U_Route
                        }).ToList();


                        List <MyObj_tablapadreRutas> categoriasList = ObtenerCategoriarJerarquiaByNameRutas(listapadres, listahijas);

                        //var stores = (from b in CMKdb.OCRD where (b.Series == 68 && b.CardName != null && b.CardName != "" && b.QryGroup30 == "Y" && b.validFor == "Y") select b).OrderBy(b => b.CardName).ToList();
                        ViewBag.stores = JsonConvert.SerializeObject(categoriasList);
                        //FIN LISTADO DE TIENDAS

                        //LISTADO DE ACTIVIDADES

                        List <MyObj_tablapadreRutas> listapadresActivities = (from a in db.ActivitiesM_types
                                                                              select
                                                                              new MyObj_tablapadreRutas
                        {
                            id = a.ID_activity.ToString(),
                            text = a.description
                        }
                                                                              ).ToList();

                        List <tablahijospadreRutas> listahijasActivities = (from p in db.FormsM
                                                                            select new tablahijospadreRutas
                        {
                            id = p.ID_form.ToString(),
                            text = p.name,
                            parent = p.ID_activity.ToString()
                        }).ToList();


                        List <MyObj_tablapadreRutas> categoriasListActivities = ObtenerCategoriarJerarquiaByIDRutas(listapadresActivities, listahijasActivities);


                        ViewBag.activitieslist = JsonConvert.SerializeObject(categoriasListActivities);

                        //LISTADO DE CLIENTES
                        var customers = (from b in CMKdb.OCRD where (b.Series == 61 && b.CardName != null && b.CardName != "") select b).OrderBy(b => b.CardName).ToList();
                        ViewBag.customers = customers.ToList();
                        //LISTADO DE ACTIVIDAD (TIMELINE)
                    }
                    //var log = new List<ActivitiesM_log>();



                    //if ((activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 8) || activeuser.ID_tipomembresia == 1)
                    //{
                    //    log = (from l in db.ActivitiesM_log where (l.fecha_conexion >= filtrostartdate && l.fecha_conexion <= filtroenddate) select l).ToList();
                    //}
                    //else
                    //{
                    //    log = (from l in db.ActivitiesM_log where (l.ID_usuario == ID && l.fecha_conexion >= filtrostartdate && l.fecha_conexion <= filtroenddate) select l).OrderBy(l => l.fecha_conexion).ToList();
                    //}

                    //ViewBag.log = log;

                    //Filtros Viewbag
                    //Filtros viewbag

                    ViewBag.filtrofechastart = filtrostartdate.ToShortDateString();
                    ViewBag.filtrofechaend   = filtroenddate.ToShortDateString();;
                    //*****************

                    List <Routes_calendar> rutaslst = new List <Routes_calendar>();

                    foreach (var item in rutas)
                    {
                        Routes_calendar rt = new Routes_calendar();

                        rt.title     = item.ID_route + " - " + item.query2.ToUpper();
                        rt.url       = "";
                        rt.start     = item.date.ToString("yyyy-MM-dd");
                        rt.end       = item.end_date.AddDays(1).ToString("yyyy-MM-dd");
                        rt.className = "block b-t b-t-2x b-info";//"#2081d6";
                        rutaslst.Add(rt);
                    }
                    JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
                    string result = javaScriptSerializer.Serialize(rutaslst.ToArray());
                    ViewBag.calroutes = result;
                }
                return(View(rutas.ToList()));
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { access = false }));
            }
        }
        public ActionResult Activityon(int?id)
        {
            Usuarios activeuser = Session["activeUser"] as Usuarios;

            if (activeuser != null)
            {
                int ID = Convert.ToInt32(Session["IDusuario"]);

                ViewBag.usuario = activeuser.nombre + " " + activeuser.apellido;
                var activity = new ActivitiesM();
                var formsM   = new FormsM();
                List <FormsM_details> FormsMDet = new List <FormsM_details>();
                using (var db = new dbComerciaEntities())
                {
                    activity  = (from v in db.ActivitiesM where (v.ID_activity == id) select v).FirstOrDefault();
                    formsM    = db.FormsM.Find(activity.ID_form);
                    FormsMDet = (from a in db.FormsM_details where (a.ID_visit == activity.ID_activity && a.original == false) select a).ToList();
                }


                if (activity == null)
                {
                    return(RedirectToAction("Main", "Home"));
                }
                else
                {
                    //LISTADO DE CLIENTES
                    //VERIFICAMOS SI SELECCIONARON CLIENTE PREDEFINIDO

                    if (activity.Customer != "")
                    {
                        using (var CMKdb = new COM_MKEntities())
                        {
                            var customers = (from b in CMKdb.OCRD where (b.Series == 61 && b.CardCode == activity.ID_customer) select b).OrderBy(b => b.CardName).ToList();
                            ViewBag.customers = customers.ToList();
                        }
                    }
                    else
                    {
                        using (var CMKdb = new COM_MKEntities())
                        {
                            if ((activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 8) || activeuser.ID_tipomembresia == 1)//Administrador
                            {
                                var customers = (from b in CMKdb.OCRD where (b.Series == 61 && b.CardName != null && b.CardName != "") select b).OrderBy(b => b.CardName).ToList();
                                ViewBag.customers = customers.ToList();
                            }
                            else
                            {
                                var customers = (from b in CMKdb.OCRD where (activeuser.estados_influencia.Contains(b.CardCode)) select b).OrderBy(b => b.CardName).ToList();
                                ViewBag.customers = customers.ToList();
                            }
                        }
                    }



                    //NUEVO
                    //ID VISIT SE UTILIZA COMO RELACION
                    List <MyObj_tablapadre> listapadresActivities = (from item in FormsMDet
                                                                     where (item.parent == 0)
                                                                     select
                                                                     new MyObj_tablapadre
                    {
                        ID_details = item.ID_details,
                        id_resource = item.ID_formresourcetype,
                        fsource = item.fsource,
                        fdescription = item.fdescription,
                        fvalue = item.fvalue,
                        fvalueDecimal = item.fvalueDecimal,
                        fvalueText = item.fvalueText,
                        ID_formM = item.ID_formM,
                        ID_visit = item.ID_visit,
                        original = item.original,
                        obj_order = item.obj_order,
                        obj_group = item.obj_group,
                        idkey = item.idkey,
                        parent = item.parent,
                        query1 = item.query1,
                        query2 = item.query2,
                        ID_empresa = item.ID_empresa
                    }
                                                                     ).OrderBy(a => a.obj_order).ToList();


                    List <tablahijospadre> listahijasActivities = (from item in FormsMDet
                                                                   select new tablahijospadre
                    {
                        ID_details = item.ID_details,
                        id_resource = item.ID_formresourcetype,
                        fsource = item.fsource,
                        fdescription = item.fdescription,
                        fvalue = item.fvalue,
                        fvalueDecimal = item.fvalueDecimal,
                        fvalueText = item.fvalueText,
                        ID_formM = item.ID_formM,
                        ID_visit = item.ID_visit,
                        original = item.original,
                        obj_order = item.obj_order,
                        obj_group = item.obj_group,
                        idkey = item.idkey,
                        parent = item.parent,
                        query1 = item.query1,
                        query2 = item.query2,
                        ID_empresa = item.ID_empresa
                    }).OrderBy(a => a.obj_order).ToList();


                    List <MyObj_tablapadre> categoriasListActivities = ObtenerCategoriarJerarquiaByID(listapadresActivities, listahijasActivities);

                    ///
                    var showbuttondynamic = (from item in FormsMDet
                                             where (item.ID_formresourcetype == 3)
                                             select item).Count();

                    if (showbuttondynamic > 0)
                    {
                        ViewBag.mostrarboton = 1;
                    }
                    else
                    {
                        ViewBag.mostrarboton = 0;
                    }
                    //Deserealizamos  los datos
                    JavaScriptSerializer js = new JavaScriptSerializer();
                    MyObj[] details         = js.Deserialize <MyObj[]>(formsM.query2);

                    ViewBag.idvisitareal = activity.ID_visit;
                    ViewBag.idvisita     = activity.ID_activity;

                    ViewBag.details = categoriasListActivities;

                    ViewBag.detailssql = FormsMDet;

                    Session["detailsForm"] = FormsMDet;


                    return(View());
                }
            }
            else
            {
                return(RedirectToAction("Dashboard", "SalesRepresentatives"));
            }
        }
        // GET: SalesRepresentatives
        public ActionResult Dashboard(string id, string fstartd, string fendd, string stores, string brands, string spartners)
        {
            if (generalClass.checkSession())
            {
                Usuarios activeuser = Session["activeUser"] as Usuarios;

                //HEADER
                //PAGINAS ACTIVAS
                ViewData["Menu"]      = "Sales Representatives";
                ViewData["Page"]      = "Dashboard";
                ViewBag.menunameid    = "marketing_menu";
                ViewBag.submenunameid = "";
                //List<string> d = new List<string>(activeuser.Departments.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstDepartments = JsonConvert.SerializeObject(d);
                //List<string> r = new List<string>(activeuser.Roles.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstRoles = JsonConvert.SerializeObject(r);
                ViewBag.idmembresia = activeuser.ID_tipomembresia;
                ViewBag.rol         = activeuser.ID_rol;

                //ViewData["nameUser"] =
                ////NOTIFICATIONS
                //DateTime now = DateTime.Today;
                //List<Tb_Alerts> lstAlerts = (from a in dblim.Tb_Alerts where (a.ID_user == activeuser.ID_User && a.Active == true && a.Date == now) select a).OrderByDescending(x => x.Date).Take(5).ToList();
                //ViewBag.lstAlerts = lstAlerts;

                //FIN HEADER
                //FILTROS
                //Fechas
                DateTime filtrostartdate;
                DateTime filtroenddate;

                var sunday   = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                var saturday = sunday.AddDays(6).AddHours(23);

                if (fstartd == null || fstartd == "")
                {
                    filtrostartdate = sunday;
                }
                else
                {
                    filtrostartdate = Convert.ToDateTime(fstartd);
                }
                if (fendd == null || fendd == "")
                {
                    filtroenddate = saturday;
                }
                else
                {
                    filtroenddate = Convert.ToDateTime(fendd).AddHours(23).AddMinutes(59);
                }
                //
                ViewBag.username    = activeuser.nombre + " " + activeuser.apellido;
                ViewBag.Membresia   = activeuser.Tipo_membresia.descripcion;
                ViewBag.id_customer = id;
                ViewBag.Company     = activeuser.Empresas.nombre;

                ViewBag.filtrofechastart = filtrostartdate.ToShortDateString();
                ViewBag.filtrofechaend   = filtroenddate.ToShortDateString();

                var   rutas        = new List <VisitsM>();
                int[] visitasarray = new int[] { };
                if ((activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 8) || activeuser.ID_tipomembresia == 1)
                {
                    using (var db = new dbComerciaEntities())
                    {
                        rutas        = db.VisitsM.Where(d => (d.visit_date == filtrostartdate || d.end_date == filtroenddate) && d.ID_empresa == activeuser.ID_empresa).ToList();
                        visitasarray = rutas.Select(d => d.ID_visit).ToArray();
                    }
                }
                else
                {
                    using (var db = new dbComerciaEntities())
                    {
                        var visitrep = (from gg in db.VisitsM_representatives where (gg.ID_usuario == activeuser.ID_usuario) select gg.ID_visit).ToArray();

                        // rutas = (from r in db.VisitsM where (visitrep.Contains(r.ID_visit) && r.ID_empresa == activeuser.ID_empresa) select r).ToList();
                        //rutas = (from r in db.VisitsM where (visitrep.Contains(r.ID_visit) && (r.visit_date == filtrostartdate && r.end_date == filtroenddate) && r.ID_empresa == activeuser.ID_empresa) select r).ToList();
                        rutas = (from r in db.VisitsM where (visitrep.Contains(r.ID_visit) && (r.visit_date >= filtrostartdate && r.end_date <= filtroenddate) && r.ID_empresa == activeuser.ID_empresa) select r).ToList();

                        visitasarray = rutas.Select(d => d.ID_visit).ToArray();
                    }
                }

                List <string>    Vendors    = new List <string>(activeuser.estados_influencia.Split(new string[] { "," }, StringSplitOptions.None));
                List <demosReps> lstVendors = new List <demosReps>();
                if (Vendors.Count > 0)
                {
                    foreach (var item in Vendors)
                    {
                        demosReps newitem = new demosReps();
                        newitem.ID = item;
                        using (var dbcmk = new COM_MKEntities())
                        {
                            newitem.name = (from a in dbcmk.OCRD where (a.CardCode == item) select a.CardName).FirstOrDefault();
                        }

                        lstVendors.Add(newitem);
                    }
                }

                ViewBag.lstVendors      = lstVendors.OrderBy(c => c.name);
                ViewBag.lstVendorsCount = lstVendors.Count();
                return(View(rutas));
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { access = false }));
            }
        }
        public ActionResult Visit_details(int?id)
        {
            if (generalClass.checkSession())
            {
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { access = false }));
            }
            Usuarios activeuser = Session["activeUser"] as Usuarios;

            //HEADER
            //PAGINAS ACTIVAS
            ViewData["Menu"]      = "Sales Representatives";
            ViewData["Page"]      = "Dashboard";
            ViewBag.menunameid    = "marketing_menu";
            ViewBag.submenunameid = "";

            ViewBag.idmembresia = activeuser.ID_tipomembresia;
            ViewBag.rol         = activeuser.ID_rol;
            using (var db = new dbComerciaEntities())
            {
                VisitsM visitsM = db.VisitsM.Find(id);

                if (visitsM == null)
                {
                    return(HttpNotFound());
                }

                //Datos de visita
                //Route
                ViewBag.route = visitsM.ID_route;

                ViewBag.idvisita = id;

                ViewBag.storename = visitsM.store;
                ViewBag.username  = activeuser.nombre + " " + activeuser.apellido;
                var geoLong = "";
                var geoLat  = "";

                geoLong = visitsM.geoLong;
                geoLat  = visitsM.geoLat;

                ViewBag.glong   = geoLong;
                ViewBag.glat    = geoLat;
                ViewBag.address = visitsM.address + ", " + visitsM.state + ", " + visitsM.city + ", " + visitsM.zipcode;
                //---------------------------------

                //Lista de usuarios representantes
                List <Usuarios> usuarios = new List <Usuarios>();
                usuarios = db.Usuarios.Where(c => c.ID_empresa == 2 && c.ID_tipomembresia == 8 && c.ID_rol == 9).ToList();
                //Seleccionamos representantes que estan incluidos
                var reps = (from rep in db.VisitsM_representatives
                            join users in db.Usuarios on rep.ID_usuario equals users.ID_usuario
                            where (rep.ID_visit == id)
                            select new representativesVisit
                {
                    ID = rep.ID_usuario,
                    name = users.nombre + " " + users.apellido,
                    email = users.correo
                }
                            ).ToList();

                ViewBag.repslist = reps;
                //FIN representantes
                //ACTIVITIES
                List <ActivitiesM> activities = new List <ActivitiesM>();
                if ((activeuser.ID_tipomembresia == 8 && activeuser.ID_rol == 8) || activeuser.ID_tipomembresia == 1)    //Admin
                {
                    activities = (from a in db.ActivitiesM where (a.ID_visit == id) select a).OrderBy(a => a.ID_activitytype).ThenBy(a => a.description).ToList();
                }
                else
                {
                    activities = (from a in db.ActivitiesM where (a.ID_visit == id && a.ID_usuarioEnd == activeuser.ID_usuario) select a).OrderBy(a => a.ID_activitytype).ThenBy(a => a.description).ToList();
                }

                foreach (var item in activities)
                {
                    item.query1 = "";
                    item.query1 = (from detalle in db.FormsM_details where (detalle.ID_formresourcetype == 13 && detalle.ID_visit == item.ID_activity) select detalle.fdescription).FirstOrDefault();
                }

                //CHECK OUT POR USUARIO
                if (activeuser.ID_rol == 9 && activeuser.ID_tipomembresia == 8)
                {
                    var rep = (from a in db.VisitsM_representatives
                               where (a.ID_visit == id && a.ID_usuario == activeuser.ID_usuario)
                               select a
                               ).FirstOrDefault();
                    ViewBag.estadovisita = Convert.ToInt32(rep.query1);    //Utilizaremos este campo para filtrar el estado por usuario
                }
                else
                {
                    ViewBag.estadovisita = visitsM.ID_visitstate;
                }



                //FIN ACTIVITIES
                //representantes


                ViewBag.representatives = usuarios;
                using (var CMKdb = new COM_MKEntities())
                {
                    var usuariosdemo = CMKdb.OCRD.Where(b => b.Series == 70 && b.CardName != null && b.CardName != "" && b.CardType == "s").OrderBy(b => b.CardName).ToList();

                    List <demosReps> selectList_usuarios = new List <demosReps>();
                    selectList_usuarios = (from st in usuariosdemo
                                           select new demosReps
                    {
                        ID = Convert.ToString(st.CardCode),
                        name = st.CardName.ToString() + " - " + st.E_Mail.ToString()
                    }).ToList();
                    ViewBag.reps_demos = selectList_usuarios;

                    List <OCRD> customers = new List <OCRD>();
                    customers = (from b in CMKdb.OCRD where (b.Series == 61 && b.CardName != null && b.CardName != "") select b).OrderBy(b => b.CardName).ToList();

                    ViewBag.customers = customers.ToList();
                }

                List <FormsM> activeForms = new List <FormsM>();
                activeForms         = (from at in db.FormsM where (at.ID_empresa == activeuser.ID_empresa) select at).ToList();
                ViewBag.activeForms = activeForms;
                //FIN FORMULARIOS

                return(View(activities));
            }
        }
        public ActionResult Tasks(string fstartd, string fendd)
        {
            if (generalClass.checkSession())
            {
                Usuarios activeuser = Session["activeUser"] as Usuarios;
                //HEADER
                //PAGINAS ACTIVAS
                ViewData["Menu"]      = "Sales Representatives";
                ViewData["Page"]      = "Dashboard";
                ViewBag.menunameid    = "marketing_menu";
                ViewBag.submenunameid = "";

                ViewBag.idmembresia = activeuser.ID_tipomembresia;
                ViewBag.rol         = activeuser.ID_rol;
                //List<string> d = new List<string>(activeuser.Departments.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstDepartments = JsonConvert.SerializeObject(d);
                //List<string> r = new List<string>(activeuser.Roles.Split(new string[] { "," }, StringSplitOptions.None));
                //ViewBag.lstRoles = JsonConvert.SerializeObject(r);

                //ViewData["nameUser"] =
                ////NOTIFICATIONS
                //DateTime now = DateTime.Today;
                //List<Tb_Alerts> lstAlerts = (from a in dblim.Tb_Alerts where (a.ID_user == activeuser.ID_User && a.Active == true && a.Date == now) select a).OrderByDescending(x => x.Date).Take(5).ToList();
                //ViewBag.lstAlerts = lstAlerts;

                //FIN HEADER
                //FILTROS
                //Fechas
                DateTime filtrostartdate;
                DateTime filtroenddate;

                var sunday   = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
                var saturday = sunday.AddDays(6).AddHours(23);

                if (fstartd == null || fstartd == "")
                {
                    filtrostartdate = sunday;
                }
                else
                {
                    filtrostartdate = Convert.ToDateTime(fstartd);
                }
                if (fendd == null || fendd == "")
                {
                    filtroenddate = saturday;
                }
                else
                {
                    filtroenddate = Convert.ToDateTime(fendd).AddHours(23).AddMinutes(59);
                }
                //
                ViewBag.filtrofechastart = filtrostartdate.ToShortDateString();
                ViewBag.filtrofechaend   = filtroenddate.ToShortDateString();
                var             tasks        = new List <Tasks>();
                List <Usuarios> usuarios     = new List <Usuarios>();
                int[]           visitasarray = new int[] { };
                using (var db = new dbComerciaEntities())
                {
                    tasks = (from a in db.Tasks where ((a.visit_date >= filtrostartdate && a.end_date <= filtroenddate) && a.ID_empresa == 2 && a.ID_userEnd == activeuser.ID_usuario) select a).ToList();
                }

                return(View(tasks));
            }
            else
            {
                return(RedirectToAction("Index", "Home", new { access = false }));
            }
        }