private void CargarFuncionarios()
        {
            var          db   = new obligP3parte2Context();
            string       ruta = HostingEnvironment.ApplicationPhysicalPath + @"archivos\funcionarios.txt";
            StreamReader sr   = System.IO.File.OpenText(ruta);
            string       line = sr.ReadLine();

            while (line != null)
            {
                string[]    vecStr = line.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);
                Funcionario f      = ParsearFuncionarios(vecStr);

                f.MiGrupo = db.Grupos.Find(f.MiGrupo.Codigo);

                var funcDb = db.Funcionarios.Find(f.Mail);
                if (f != null && funcDb == null)
                {
                    db.Entry(f.MiGrupo).State = System.Data.Entity.EntityState.Unchanged;
                    db.Funcionarios.Add(f);
                    ViewBag.DatosCargados += "- " + f.Mail + "<br>";
                }
                line = sr.ReadLine();
            }
            db.SaveChanges();
            sr.Close();
        }
        private void CargarTramitesEtapas()
        {
            var          db   = new obligP3parte2Context();
            string       ruta = HostingEnvironment.ApplicationPhysicalPath + @"archivos\tramitesEtapas.txt";
            StreamReader sr   = System.IO.File.OpenText(ruta);
            string       line = sr.ReadLine();

            while (line != null)
            {
                string[] vecStr = line.Split(new char[] { '@' }, StringSplitOptions.RemoveEmptyEntries);

                Tramite t = db.Tramites.Find(int.Parse(vecStr[0]));

                Etapa e = new Etapa()
                {
                    CodigoAlfa  = vecStr[1],
                    Descripcion = vecStr[2],
                    TiempoMax   = int.Parse(vecStr[3])
                };
                var etapaDb = db.Etapas.Find(e.CodigoAlfa);
                if (t != null && etapaDb == null && !t.Etapas.Contains(etapaDb))
                {
                    t.Etapas.Add(e);
                    ViewBag.DatosCargados += "- tramite " + t.Titulo + " asignada etapa " + e.CodigoAlfa + "<br>";
                }
                line = sr.ReadLine();
            }
            db.SaveChanges();
            sr.Close();
        }
        private void CargarGrupoTramites()
        {
            var          db   = new obligP3parte2Context();
            string       ruta = HostingEnvironment.ApplicationPhysicalPath + @"archivos\tramitesGrupos.txt";
            StreamReader sr   = System.IO.File.OpenText(ruta);
            string       line = sr.ReadLine();

            while (line != null)
            {
                string[] vecStr = line.Split(new char[] { '$' }, StringSplitOptions.RemoveEmptyEntries);

                Tramite t = db.Tramites.Find(int.Parse(vecStr[0]));
                Grupo   g = db.Grupos.Find(int.Parse(vecStr[1]));

                if (t != null && g != null && !t.GruposAsignados.Contains(g))
                {
                    t.GruposAsignados.Add(g);
                    db.Entry(t.GruposAsignados.ElementAt(t.GruposAsignados.Count() - 1)).State = System.Data.Entity.EntityState.Unchanged;
                    ViewBag.DatosCargados += "- tramite " + t.Titulo + " asignado al grupo " + g.Nombre + "<br>";
                }
                line = sr.ReadLine();
            }
            db.SaveChanges();
            sr.Close();
        }
        private void CargarTramites()
        {
            var          db   = new obligP3parte2Context();
            string       ruta = HostingEnvironment.ApplicationPhysicalPath + @"archivos\tramites.txt";
            StreamReader sr   = System.IO.File.OpenText(ruta);
            string       line = sr.ReadLine();

            while (line != null)
            {
                string[] vecStr = line.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
                Tramite  t      = new Tramite()
                {
                    Codigo         = int.Parse(vecStr[0]),
                    Titulo         = vecStr[1],
                    Descripcion    = vecStr[2],
                    Costo          = double.Parse(vecStr[3]),
                    TiempoPrevisto = int.Parse(vecStr[4])
                };
                var tramiteDb = db.Tramites.Find(t.Codigo);
                if (t != null && tramiteDb == null)
                {
                    db.Tramites.Add(t);
                    ViewBag.DatosCargados += "- " + t.Titulo + "<br>";
                }
                line = sr.ReadLine();
            }
            db.SaveChanges();
            sr.Close();
        }
        private void CargarUsuarios()
        {
            var db = new obligP3parte2Context();

            if (db.Usuarios.Any())
            {
                return;
            }

            Usuario u = new Usuario()
            {
                Mail = "*****@*****.**", Password = "******"
            };

            if (db.Usuarios.Find(u.Mail) == null)
            {
                db.Usuarios.Add(u);
            }
            u = new Usuario()
            {
                Mail = "*****@*****.**", Password = "******"
            };
            if (db.Usuarios.Find(u.Mail) == null)
            {
                db.Usuarios.Add(u);
            }
            u = new Usuario()
            {
                Mail = "*****@*****.**", Password = "******"
            };
            if (db.Usuarios.Find(u.Mail) == null)
            {
                db.Usuarios.Add(u);
            }
            u = new Usuario()
            {
                Mail = "*****@*****.**", Password = "******"
            };
            if (db.Usuarios.Find(u.Mail) == null)
            {
                db.Usuarios.Add(u);
            }
            u = new Usuario()
            {
                Mail = "*****@*****.**", Password = "******"
            };
            if (db.Usuarios.Find(u.Mail) == null)
            {
                db.Usuarios.Add(u);
            }

            db.SaveChanges();
        }
        private void CargarSolicitantesExpedientes()
        {
            var db = new obligP3parte2Context();

            if (db.Solicitantes.Any())
            {
                return;
            }

            string comando = @"
                USE[ObligP3parte2]
                ";

            db.Database.ExecuteSqlCommand(comando);

            comando = @"
                INSERT[dbo].[Solicitantes] ([Cedula], [Nombre], [Apellido], [Tel], [Mail]) VALUES
                (N'1234', N'Lolo', N'Fernandes', N'654544', N'*****@*****.**'),
                (N'123456', N'Pepita', N'Lopez', N'7654564', N'*****@*****.**'),
                (N'3333', N'Carlos', N'Pepito', N'123456789', N'*****@*****.**')
                ";
            db.Database.ExecuteSqlCommand(comando);

            comando = @"
                SET IDENTITY_INSERT[dbo].[Expedientes] ON
                INSERT[dbo].[Expedientes] ([Codigo], [idSolicitante], [MailFunc], [FechaInic], [Culminado], [Tramite_Codigo]) VALUES
                (1, N'3333', N'*****@*****.**', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 1, 1),
                (2, N'1234', N'*****@*****.**', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 1, 3),
                (3, N'123456', N'*****@*****.**', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, 2),
                (4, N'3333', N'*****@*****.**', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, 2),
                (5, N'1234', N'*****@*****.**', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, 1)
                ";
            db.Database.ExecuteSqlCommand(comando);

            comando = @"
                SET IDENTITY_INSERT[dbo].[EtapasCumplidas] ON
                INSERT[dbo].[EtapasCumplidas] ([Id], [Documento], [FechaFin], [SuperaLapsoMax], [Etapa_CodigoAlfa], [Expediente_Codigo], [Funcionario_Mail]) VALUES
                (1, N'339px-Akt_mianowania_ppłk._Kazimierza_Makarewicza_na_stopień_pułkownika.jpg', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T1E01', 1, N'*****@*****.**'),
                (2, N'23938868.png', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T1E02', 1, N'*****@*****.**'),
                (3, N'a_german_eagle_o_55c5132ea2151.jpg', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T1E03', 1, N'*****@*****.**'),
                (4, N'flakdoc.jpg', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T3E01', 2, N'*****@*****.**'),
                (5, N'form427-giant.gif', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T3E03', 2, N'*****@*****.**'),
                (6, N'french war documents 001.jpg', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T3E02', 2, N'*****@*****.**'),
                (7, N'french war documents 001.jpg', CAST(N'2018-06-27 00:00:00.000' AS DateTime), 0, N'T3E04', 2, N'*****@*****.**')
                ";
            db.Database.ExecuteSqlCommand(comando);
        }
Ejemplo n.º 7
0
        public ActionResult Create(CrearExpedienteViewModel vm)
        {
            DateTime hoy = DateTime.Today;

            using (obligP3parte2Context db = new obligP3parte2Context())
            {
                vm.Expediente               = new Expediente();
                vm.Expediente.Tramite       = db.Tramites.Find(vm.TramiteSeleccionado);
                vm.Expediente.idSolicitante = vm.CedulaSolicitante;
                vm.Expediente.FechaInic     = hoy;
                vm.Expediente.MailFunc      = Session["UsuarioMail"].ToString();

                db.Expedientes.Add(vm.Expediente);
                db.SaveChanges();
                vm.Tramites = new SelectList(db.Tramites.ToList(), "Codigo", "Titulo");
            }

            return(View("Details", vm.Expediente));
        }
Ejemplo n.º 8
0
        public ActionResult AgregarEtapa(AgregarEtapaViewModel vm)
        {
            DateTime hoy = DateTime.Today;

            using (obligP3parte2Context db = new obligP3parte2Context())
            {
                // cargar el exp y todo las cosas que fueron seleccionadas
                Expediente  exp   = db.Expedientes.Find(vm.Expediente.Codigo);
                Etapa       etapa = db.Etapas.Find(vm.EtapaSeleccionada);
                Funcionario func  = db.Funcionarios.Find(vm.FuncSeleccionado);

                if (exp == null || etapa == null || func == null || !vm.MapearArchivo())
                {
                    return(HttpNotFound());
                }

                // si está todo bien cargado se agregar la etapa cumplida con sus cosas
                EtapaCumplida etapaAgregar = new EtapaCumplida()
                {
                    Etapa       = etapa,
                    Expediente  = exp,
                    FechaFin    = hoy,
                    Funcionario = func,
                    Documento   = vm.ArchivoNombre
                };
                etapaAgregar.SuperaLapsoMax = etapaAgregar.CalcularTiempoOk();

                exp.EtapasCumplidas.Add(etapaAgregar);
                exp.RevisarEtapasCumplidas();
                db.SaveChanges();

                // cargar expediente con todo para mandarlo a details
                Expediente expConTodo = db.Expedientes
                                        .Where(e => e.Codigo == vm.Expediente.Codigo)
                                        .Include(t => t.Tramite)
                                        .Include(e => e.EtapasCumplidas.Select(ee => ee.Funcionario))
                                        .Include(e => e.EtapasCumplidas.Select(eee => eee.Etapa))
                                        .FirstOrDefault();
                return(View("Details", expConTodo));
            }
        }
Ejemplo n.º 9
0
 public ActionResult Login(string EmailLogin, string PasswordLogin)
 {
     try
     {
         using (obligP3parte2Context db = new obligP3parte2Context())
         {
             var usuario = db.Usuarios.SingleOrDefault
                               (u => u.Mail.ToUpper() == EmailLogin.ToUpper() &&
                               u.Password == PasswordLogin);
             if (usuario != null)
             {
                 Session["UsuarioMail"] = usuario.Mail;
             }
             ModelState.AddModelError("LoginIncorrecto", "El mail o contraseña son inexistentes");
             return(RedirectToAction("Index", "Home"));
         }
     }
     catch
     {
         return(View());
     }
 }
        private void CargarGrupos()
        {
            var          db   = new obligP3parte2Context();
            string       ruta = HostingEnvironment.ApplicationPhysicalPath + @"archivos\grupos.txt";
            StreamReader sr   = System.IO.File.OpenText(ruta);
            string       line = sr.ReadLine();

            while (line != null)
            {
                string[] vecStr  = line.Split(new char[] { '#' }, StringSplitOptions.RemoveEmptyEntries);
                Grupo    g       = ParsearGrupo(vecStr);
                var      grupoDb = db.Grupos.Find(g.Codigo);
                if (g != null && grupoDb == null)
                {
                    db.Grupos.Add(g);
                    ViewBag.DatosCargados += "- " + g.Nombre + "<br>";
                }
                line = sr.ReadLine();
            }
            db.SaveChanges();
            sr.Close();
        }
Ejemplo n.º 11
0
        // GET: Expediente/Create
        public ActionResult Create()
        {
            if (Session["UsuarioMail"] == null || Session["UsuarioMail"].ToString() == "")
            {
                return(RedirectToAction("SinAcceso", "Home"));
            }

            string cedula = TempData["SolicitanteCedula"] as string;

            if (cedula == null)
            {
                return(RedirectToAction("BuscarParaNuevoExpediente", "Solicitante"));
            }

            if (ModelState.IsValid)
            {
                Expediente     nuevoExp = new Expediente();
                List <Tramite> tramites;
                Solicitante    solicitante = new Solicitante();

                using (obligP3parte2Context db = new obligP3parte2Context())
                {
                    tramites    = db.Tramites.ToList();
                    solicitante = db.Solicitantes.Find(cedula);
                }

                CrearExpedienteViewModel vm = new CrearExpedienteViewModel()
                {
                    Expediente        = nuevoExp,
                    Tramites          = new SelectList(tramites, "Codigo", "Titulo"),
                    CedulaSolicitante = cedula,
                    Solicitante       = solicitante
                };
                return(View(vm));
            }
            return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
        }
 private Funcionario ParsearFuncionarios(string[] vecStr)
 {
     try
     {
         string mail   = vecStr[0];
         string nombre = vecStr[1];
         int    grupo  = int.Parse(vecStr[2]);
         var    db     = new obligP3parte2Context();
         string pass   = vecStr[3];
         Grupo  g      = new Grupo()
         {
             Codigo = grupo
         };
         Funcionario f = new Funcionario()
         {
             Mail = mail, Nombre = nombre, MiGrupo = g, Password = pass
         };
         return(f);
     }
     catch (FormatException fe)
     {
         return(null);
     }
 }