Esempio n. 1
0
        public static void UpdateTabCompleto(int codigoTab, int codigoProyecto, int codigoContacto, Boolean estado)
        {
            using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString))
            {
                var entity = (from tabProyecto in db.TabProyectos
                              where
                              tabProyecto.CodProyecto.Equals(codigoProyecto) &&
                              tabProyecto.CodTab.Equals(codigoTab)
                              select
                              tabProyecto
                              ).SingleOrDefault();

                if (entity == null)
                {
                    entity = new TabProyecto
                    {
                        CodContacto       = codigoContacto,
                        CodProyecto       = codigoProyecto,
                        FechaModificacion = DateTime.Now,
                        CodTab            = (Int16)codigoTab,
                        Completo          = estado,
                        Realizado         = false
                    };
                    db.TabProyectos.InsertOnSubmit(entity);
                }
                else
                {
                    entity.Completo = estado;
                }

                db.SubmitChanges();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Actualiza el tab padre a realizado si todos los hijos estan realizados.
        /// </summary>
        public static void UpdateTabParent(int codigoTab, int codigoProyecto, int codigoContacto, int codigoGrupo)
        {
            using (Datos.FonadeDBDataContext db = new Datos.FonadeDBDataContext(System.Configuration.ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString))
            {
                var tabDetalle = db.Tabs.SingleOrDefault(filter => filter.Id_Tab.Equals(codigoTab));

                if (tabDetalle.CodTab != null) // Verifica si existe un padre para ese tab
                {
                    var codigoTabPadre = tabDetalle.CodTab;

                    if (!db.TabProyectos.Any(filter => filter.CodProyecto.Equals(codigoProyecto) &&
                                             filter.CodTab.Equals(codigoTabPadre)))
                    {
                        ///Inserta tab padre sino existe en tabProyecto
                        var newTab = new TabProyecto
                        {
                            CodContacto       = codigoContacto,
                            CodProyecto       = codigoProyecto,
                            FechaModificacion = DateTime.Now,
                            CodTab            = (Int16)codigoTabPadre,
                            Realizado         = false
                        };
                        db.TabProyectos.InsertOnSubmit(newTab);
                        db.SubmitChanges();
                    }

                    if (codigoGrupo.Equals(Constantes.CONST_Asesor))
                    {
                        var entity = (from tabProyecto in db.TabProyectos
                                      where
                                      tabProyecto.CodProyecto.Equals(codigoProyecto) &&
                                      tabProyecto.CodTab.Equals(codigoTabPadre)
                                      select
                                      tabProyecto
                                      ).SingleOrDefault();

                        var childTabs   = db.Tabs.Count(filter => filter.CodTab.Equals(codigoTabPadre)); // Verifica cuantos tabs hijas tiene ese tabPadre
                        var checkedTabs = (from tabProyecto in db.TabProyectos
                                           join tab in db.Tabs on tabProyecto.CodTab equals tab.Id_Tab
                                           where tab.CodTab.Equals(codigoTabPadre) &&
                                           tabProyecto.CodProyecto.Equals(codigoProyecto) &&
                                           tabProyecto.Realizado.Equals(true)
                                           select tabProyecto
                                           ).Count();     // Verifica cuantos hijos estan realizados

                        if (childTabs.Equals(checkedTabs))
                        {
                            entity.Realizado = true;
                            db.SubmitChanges();
                        }
                        else
                        {
                            if (entity.Realizado.Equals(true))
                            {
                                entity.Realizado = false;
                                db.SubmitChanges();
                            }
                        }
                    }
                }
            }
        }