Пример #1
0
        public ActionResult Create(Projeto projeto)
        {
            projeto.Emissao = DateTime.Now;

            context.Projetos.Add(projeto);
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Пример #2
0
        public ActionResult Create(Plano plano)
        {
            plano.Emissao = DateTime.Now;

            context.Planos.Add(plano);
            context.SaveChanges();

            return(RedirectToAction("Index"));
        }
Пример #3
0
 public int Save()
 {
     try
     {
         return(_dbContext.SaveChanges());
     }
     catch (Exception dbEx)
     {
         throw new Exception(dbEx.Message, dbEx.InnerException);
     }
 }
Пример #4
0
 public void DeletarPersonalizacao(List <PersonalizacaoPedido> itensPedido)
 {
     try
     {
         _context.RemoveRange(itensPedido);
         _context.SaveChanges();
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Пример #5
0
 public T Create(T item)
 {
     try
     {
         _dataset.Add(item);
         _context.SaveChanges();
         return(item);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Пример #6
0
        public Usuarios Create(Usuarios user)
        {
            try
            {
                _context.Add(user);
                _context.SaveChanges();
            }catch (Exception e)
            {
                throw e;
            }

            return(user);
        }
        public User Create(User person)
        {
            try
            {
                _context.Add(person);
                _context.SaveChanges();
            }catch (Exception e)
            {
                throw e;
            }

            return(person);
        }
        public ActionResult DisablePublication(int publicacionId)
        {
            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            if (Session["isAdmin"] != null)
            {
                return(View("NotAuthorized"));
            }

            int usuarioId = Int32.Parse(Session["UserId"].ToString());

            using (var db = new SQLServerContext())
            {
                Publicacion publicacion = db.Publicaciones.Find(publicacionId);

                if (publicacion.Usuario.Id != usuarioId || publicacion.Estado == "Desactivada")
                {
                    return(View("Error"));
                }

                publicacion.Estado              = "Desactivada";
                publicacion.Visible             = false;
                publicacion.FechaDeModificacion = Convert.ToDateTime(DateTime.Now);

                db.SaveChanges();

                return(RedirectToAction("Publicaciones", "Account"));
            }
        }
Пример #9
0
        public ActionResult CrearConsulta(Consulta consulta, FormCollection form)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAllowed", JsonRequestBehavior.AllowGet));
            }
            else
            {
                int usuarioId     = Int32.Parse(Session["UserId"].ToString());
                var publicacionId = Int32.Parse(form["publiId"]);

                using (var db = new SQLServerContext())
                {
                    var publicacion = db.Publicaciones.SingleOrDefault(p => p.Id == publicacionId);
                    var usuario     = db.Usuarios.SingleOrDefault(u => u.Id == usuarioId);

                    consulta.Usuario     = usuario;
                    consulta.Publicacion = publicacion;
                    consulta.Visible     = true;

                    db.Consultas.Add(consulta);
                    db.SaveChanges();

                    return(Json("guardado", JsonRequestBehavior.AllowGet));
                }
            }
        }
Пример #10
0
        public ActionResult CancelarContratacion(FormCollection form)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAllowed", JsonRequestBehavior.AllowGet));
            }
            else
            {
                int contratacionId = Int32.Parse(form["id"].ToString());

                using (var db = new SQLServerContext())
                {
                    var contratacion = db.Contrataciones.Include("FechaContratacion").SingleOrDefault(c => c.Id == contratacionId);

                    foreach (FechaContratacion fecha in contratacion.FechaContratacion)
                    {
                        if (!FechaMayorA96Horas(fecha))
                        {
                            return(Json("Error"));
                        }
                    }

                    LiberarDisponibilidad(contratacion);

                    contratacion.Estado = "Cancelada";

                    db.SaveChanges();

                    return(Json("cancelada", JsonRequestBehavior.AllowGet));
                }
            }
        }
Пример #11
0
        public ActionResult Create(Caso caso)
        {
            try
            {
                caso.Emissao = DateTime.Now;

                context.Casos.Add(caso);
                context.SaveChanges();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Пример #12
0
        public PostClone Update(PostClone data)
        {
            using (var con = new SQLServerContext())
            {
                var post = con.PostClone.Where(o => o.ID == data.ID).FirstOrDefault();
                if (post != null)
                {
                    post.PostPublicID = data.PostPublicID;
                    post.Web          = data.Web;
                    post.PostWebID    = data.PostWebID;
                    post.CategoryID   = data.CategoryID;
                    post.CategoryName = data.CategoryName;
                    post.Title        = data.Title;
                    post.Summary      = data.Summary;
                    post.Content      = data.Content;
                    post.Thumbnail    = data.Thumbnail;
                    post.CreatedBy    = data.CreatedBy;
                    post.CreatedDate  = data.CreatedDate;
                    post.ModifiedBy   = data.ModifiedBy;
                    post.ModifiedDate = data.ModifiedDate;

                    con.SaveChanges();

                    return(post);
                }
                return(null);
            }
        }
Пример #13
0
        public ActionResult EditUser(Usuario usuario, FormCollection form)
        {
            ModelState.Remove("TipoDocumento");
            ModelState.Remove("Password");
            ModelState.Remove("ConfirmPassword");

            if (ModelState.IsValid)
            {
                String tipoDeIdentificacion = form["TipoDeIdentificacion"];
                int    usuarioId            = Int32.Parse(Session["UserId"].ToString());

                using (var db = new SQLServerContext())
                {
                    // E-MAIL DE LA BASE
                    var usuarioAEditar = db.Usuarios.SingleOrDefault(u => u.Id == usuarioId);

                    // E-MAILS A COMPARAR
                    var emailAbuscar = db.Usuarios.Where(u => u.Email == usuario.Email).FirstOrDefault();

                    // VALIDA QUE EL E-MAIL INGRESADO NO EXISTA EN LA BASE DE DATOS
                    if (emailAbuscar != null && usuario.Email != usuarioAEditar.Email)
                    {
                        ViewBag.Message = "El E-Mail ingresado ya existe.";
                        return(View(usuario));
                    }

                    // VALIDA QUE EL USUARIO SEA MAYOR DE EDAD
                    if (usuario.FechaDeNacimiento.Value.AddYears(18) > DateTime.Today)
                    {
                        ViewBag.Message = "La edad ingresada debe ser mayor o igual a 18 años.";
                        return(View(usuario));
                    }

                    usuarioAEditar.Nombre            = usuario.Nombre;
                    usuarioAEditar.Apellido          = usuario.Apellido;
                    usuarioAEditar.TipoDocumento     = tipoDeIdentificacion;
                    usuarioAEditar.Documento         = usuario.Documento;
                    usuarioAEditar.FechaDeNacimiento = usuario.FechaDeNacimiento;
                    usuarioAEditar.Telefono          = usuario.Telefono;
                    if (usuario.Email != usuarioAEditar.Email)
                    {
                        usuarioAEditar.Email = usuario.Email;
                    }
                    usuarioAEditar.ConfirmPassword = usuarioAEditar.Password;

                    db.SaveChanges();

                    ModelState.Clear();

                    ViewBag.Message = "Usted ha modificado sus datos con éxito.";

                    return(RedirectToAction("UserInfo"));
                }
            }
            return(View(usuario));
        }
        public ActionResult CalificarPrestatarioAPrestadorYAPublicacion(FormCollection formulario)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAuthorized"));
            }

            int    calificacionPrestador   = Int32.Parse(formulario["calificacionPrestador"]);
            String comentarioPrestador     = formulario["comentarioPrestador"];
            int    calificacionPublicacion = Int32.Parse(formulario["calificacionPublicacion"]);
            String comentarioPublicacion   = formulario["comentarioPublicacion"];
            int    usuarioIdACalificar     = Int32.Parse(formulario["usuarioACalificar"]);
            int    publicacionId           = Int32.Parse(formulario["publicacionId"]);
            int    contratacionId          = Int32.Parse(formulario["contratacionId"]);

            if (calificacionPublicacion > 5 || calificacionPublicacion < 1)
            {
                return(Json("Error"));
            }

            if (calificacionPrestador > 5 || calificacionPrestador < 1)
            {
                return(Json("Error"));
            }

            using (var db = new SQLServerContext())
            {
                var usuario        = db.Usuarios.Find(usuarioIdACalificar);
                var publicacion    = db.Publicaciones.Find(publicacionId);
                var contratatacion = db.Contrataciones.Find(contratacionId);

                var usuarioCalificacion = new UsuarioCalificacion
                {
                    Puntaje      = calificacionPrestador,
                    Comentario   = comentarioPrestador,
                    Usuario      = usuario,
                    Contratacion = contratatacion
                };

                var publicacionCalificacion = new PublicacionCalificacion
                {
                    Puntaje      = calificacionPublicacion,
                    Comentario   = comentarioPublicacion,
                    Publicacion  = publicacion,
                    Contratacion = contratatacion
                };

                db.UsuariosXCalificaciones.Add(usuarioCalificacion);
                db.PublicacionesXCalificaciones.Add(publicacionCalificacion);

                db.SaveChanges();

                return(Json("OK"));
            }
        }
Пример #15
0
        public ActionResult Register(Usuario usuario, FormCollection form)
        {
            ModelState.Remove("TipoDocumento");

            if (ModelState.IsValid)
            {
                using (var db = new SQLServerContext())
                {
                    var    usuarioAEncontrar    = db.Usuarios.SingleOrDefault(u => u.Email == usuario.Email);
                    String tipoDeIdentificacion = form["TipoDeIdentificacion"];

                    // VALIDA QUE EL E-MAIL INGRESADO NO EXISTA EN LA BASE DE DATOS
                    if (usuarioAEncontrar != null)
                    {
                        ViewBag.Message = "El E-Mail que quiere registrar ya existe.";
                        return(View());
                    }

                    // VALIDA QUE EL USUARIO SEA MAYOR DE EDAD
                    if (usuario.FechaDeNacimiento.Value.AddYears(18) > DateTime.Today)
                    {
                        ViewBag.Message = "Debe tener más de 18 años para poder registrarse en la plataforma.";
                        return(View());
                    }

                    usuario.TipoDocumento = tipoDeIdentificacion;
                    usuario.Activo        = true;

                    usuario.Password = Crypto.HashPassword(usuario.Password);

                    if (Crypto.VerifyHashedPassword(usuario.Password, usuario.ConfirmPassword))
                    {
                        usuario.ConfirmPassword = usuario.Password;
                    }

                    db.Usuarios.Add(usuario);

                    Rol rol = db.Roles.SingleOrDefault(r => r.Nombre == "USER");
                    usuario.Roles.Add(rol);

                    db.SaveChanges();

                    ModelState.Clear();

                    ViewBag.Message = "Usted se ha registrado correctamente.";

                    return(View());
                }
            }
            return(View());
        }
Пример #16
0
        public Pedido InserirPedido(Pedido pedido)
        {
            try
            {
                _context.Add(pedido);
                _context.SaveChanges();
            }
            catch (Exception e)
            {
                throw e;
            }

            return(pedido);
        }
Пример #17
0
        public ActionResult Index()
        {
            using (var ctx = new SQLServerContext()) {
                /// guardo los datos basicos
                var user = new User()
                {
                    FirstName = "Mario",
                    LastName  = "Sarasa"
                };

                ctx.Users.Add(user);

                UserType userTypeOne = new UserType();
                userTypeOne.Type = "User";
                UserType userTypeTwo = new UserType();
                userTypeTwo.Type = "Seller";

                ctx.UserTypes.Add(userTypeOne);
                ctx.UserTypes.Add(userTypeTwo);

                ctx.SaveChanges();

                //creo la relacion y modifico

                UserType firstUserType = ctx.UserTypes.Where(b => b.Type == "User").First();
                user.UserTypes.Add(firstUserType);

                User MyUser = ctx.Users.Where(u => u.FirstName == "Mario").First();

                if (MyUser != null)
                {
                    MyUser.LastName = "Pirulo";
                }
                ctx.SaveChanges();
            }
            return(View());
        }
Пример #18
0
        public ActionResult CrearContratacion(String[] diasSeleccionados, int usuarioId, int publicacionId)
        {
            using (var db = new SQLServerContext())
            {
                var usuario     = db.Usuarios.SingleOrDefault(u => u.Id == usuarioId);
                var publicacion = db.Publicaciones.SingleOrDefault(p => p.Id == publicacionId);

                if (publicacion.Usuario.Id == usuarioId)
                {
                    return(Json("NOTOK", JsonRequestBehavior.AllowGet));
                }

                Contratacion contratacion = new Contratacion
                {
                    Estado      = "Pendiente",
                    Publicacion = publicacion,
                    Usuario     = usuario
                };

                db.Contrataciones.Add(contratacion);

                DateTime fecha;

                foreach (var diaSeleccionado in diasSeleccionados)
                {
                    fecha = TransformarFecha(diaSeleccionado);

                    if (EstaDisponibleLaFecha(fecha, publicacion))
                    {
                        FechaContratacion fechaContratacion = new FechaContratacion
                        {
                            Contratacion = contratacion,
                            Fecha        = fecha,
                            Reservada    = true
                        };

                        db.FechasXContratacion.Add(fechaContratacion);
                    }
                }

                db.SaveChanges();

                return(Json(contratacion.Id, JsonRequestBehavior.AllowGet));
            }
        }
Пример #19
0
        public ActionResult PagoExitosoContratacion()
        {
            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            String externalReference = Request.QueryString["external_reference"];

            if (String.IsNullOrEmpty(externalReference) == false && Session["UserId"] != null && Session["isAdmin"] == null)
            {
                int contratacionId = Int32.Parse(externalReference);
                int usuarioId      = Int32.Parse(Session["UserId"].ToString());

                using (var db = new SQLServerContext())
                {
                    Contratacion contratacion = db.Contrataciones.Include("Publicacion").FirstOrDefault(c => c.Id == contratacionId);
                    contratacion.Estado = "Contratada";

                    Usuario usuario = db.Usuarios.Find(usuarioId);

                    Pago pago = new Pago
                    {
                        Aprobado    = true,
                        Concepto    = "Contratación",
                        FechaDePago = Convert.ToDateTime(DateTime.Now),
                        Publicacion = contratacion.Publicacion,
                        Usuario     = usuario
                    };

                    contratacion.Pago = pago;

                    db.Pagos.Add(pago);
                    db.SaveChanges();

                    return(View(contratacion.Publicacion.Usuario));
                }
            }
            else
            {
                return(View("NotAuthorized"));
            }
        }
Пример #20
0
        public ActionResult PagoExitoso()
        {
            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            String externalReference = Request.QueryString["external_reference"];

            if (String.IsNullOrEmpty(externalReference) == false && Session["UserId"] != null && Session["isAdmin"] == null)
            {
                int publicacionId = Int32.Parse(externalReference);
                int usuarioId     = Int32.Parse(Session["UserId"].ToString());

                using (var db = new SQLServerContext())
                {
                    Publicacion publicacion = db.Publicaciones.Find(publicacionId);
                    publicacion.FechaDeModificacion = Convert.ToDateTime(DateTime.Now);
                    publicacion.Promocionada        = true;

                    Usuario usuario = db.Usuarios.Find(usuarioId);

                    Pago pago = new Pago
                    {
                        Aprobado    = true,
                        Concepto    = "Promoción",
                        FechaDePago = Convert.ToDateTime(DateTime.Now),
                        Publicacion = publicacion,
                        Usuario     = usuario
                    };

                    db.Pagos.Add(pago);
                    db.SaveChanges();

                    return(View());
                }
            }
            else
            {
                return(View("NotAuthorized"));
            }
        }
Пример #21
0
        public ActionResult EliminarConsulta(FormCollection form)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAllowed", JsonRequestBehavior.AllowGet));
            }
            else
            {
                int consultaId = Int32.Parse(form["id"].ToString());

                using (var db = new SQLServerContext())
                {
                    var consulta = db.Consultas.SingleOrDefault(c => c.Id == consultaId);

                    consulta.Visible = false;

                    db.SaveChanges();

                    return(Json("eliminada", JsonRequestBehavior.AllowGet));
                }
            }
        }
Пример #22
0
        public ActionResult RechazarPublicacion(int publicacionId)
        {
            if (publicacionId == 0)
            {
                return(RedirectToAction("Index"));
            }

            if (Session["UserId"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            if (Session["isAdmin"] == null)
            {
                return(View("NotAuthorized"));
            }

            int usuarioId = Int32.Parse(Session["UserId"].ToString());

            using (var db = new SQLServerContext())
            {
                var publicacion = db.Publicaciones.Where(p => p.Id == publicacionId).FirstOrDefault();

                if (publicacion != null)
                {
                    publicacion.Estado  = "Rechazada";
                    publicacion.Visible = false;

                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View("Error"));
                }
            }
        }
Пример #23
0
        public ActionResult FinalizarContratacion(int contratacionId)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAuthorized"));
            }

            if (Session["isAdmin"] != null)
            {
                return(View("NotAuthorized"));
            }

            using (var db = new SQLServerContext())
            {
                var contratacionABuscar = db.Contrataciones.Include("FechaContratacion").FirstOrDefault(c => c.Id == contratacionId);

                if (contratacionABuscar != null)
                {
                    foreach (FechaContratacion fecha in contratacionABuscar.FechaContratacion)
                    {
                        if (!FechaEsValidaDeFinalizar(fecha))
                        {
                            return(Json("Error"));
                        }
                    }

                    contratacionABuscar.Estado = "Finalizada";

                    db.SaveChanges();

                    return(Json("OK"));
                }
                else
                {
                    return(Json("Error"));
                }
            }
        }
Пример #24
0
        public ActionResult ResponderConsulta(FormCollection form)
        {
            if (Session["UserId"] == null)
            {
                return(Json("NotAllowed", JsonRequestBehavior.AllowGet));
            }
            else
            {
                int consultaId = Int32.Parse(form["id"].ToString());
                var respuesta  = form["texto"];

                using (var db = new SQLServerContext())
                {
                    var consulta = db.Consultas.SingleOrDefault(c => c.Id == consultaId);

                    consulta.Respuesta = respuesta;

                    db.SaveChanges();

                    return(Json("guardado", JsonRequestBehavior.AllowGet));
                }
            }
        }
Пример #25
0
        public void DeleteDateExpires()
        {
            var now = DateTime.Now;

            Console.Write($"Now: {now}");

            var optionsBuilder      = new DbContextOptionsBuilder <SQLServerContext>();
            var connectionSQLServer = "Server=localhost;Database=worker-db;User Id=sa;Password=SqlExpress123;";

            optionsBuilder.UseSqlServer(connectionSQLServer);

            using (var db = new SQLServerContext(optionsBuilder.Options))
            {
                var jobsResult = db.JobsResult.Where(x => x.DateExpires < now).ToList();

                if (jobsResult.Count > 0)
                {
                    _logger.LogInformation($"Foram encontrados {jobsResult.Count} que podem ser excluidos");

                    try
                    {
                        db.JobsResult.RemoveRange(jobsResult);
                        db.SaveChanges();
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError($"Erro ao excluir registros da tabela JOBRESULT - Erro {ex.Message}");
                        throw;
                    }
                }
                else
                {
                    _logger.LogInformation("Nenhum registro encontrado");
                }
            }
        }
Пример #26
0
        public ActionResult SavePublication(Publicacion publicacion, FormCollection form, HttpPostedFileBase foto, HttpPostedFileBase cv)
        {
            ModelState.Remove("Categoria");
            ModelState.Remove("Estado");

            if (ModelState.IsValid)
            {
                int    usuarioId     = Int32.Parse(Session["UserId"].ToString());
                String fotoExtension = foto.FileName.Substring(foto.FileName.LastIndexOf('.') + 1).ToLower();
                String CvExtension   = cv.FileName.Substring(cv.FileName.LastIndexOf('.') + 1).ToLower();

                if (fotoExtension == "jpg" || fotoExtension == "jpeg" || fotoExtension == "png")
                {
                    var fotoFileName = Path.GetFileName(foto.FileName);
                    var fotoGuid     = Guid.NewGuid().ToString();
                    var fotoPath     = Path.Combine(Server.MapPath("~/UploadedFiles"), usuarioId + "_" + fotoGuid + "_" + fotoFileName);
                    foto.SaveAs(fotoPath);
                    String   fotoFl        = fotoPath.Substring(fotoPath.LastIndexOf("\\"));
                    String[] fotoSplit     = fotoFl.Split('\\');
                    String   fotoNewPath   = fotoSplit[1];
                    String   fotoFinalPath = "/UploadedFiles/" + fotoNewPath;
                    publicacion.Foto = fotoFinalPath;
                }
                else
                {
                    ModelState.AddModelError("Foto", "Tipo de archivo no válido. Extensiones permitidas: jpg, jpeg o png.");
                    return(View("../Publication/EditPublication", publicacion));
                }

                if (CvExtension == "pdf")
                {
                    var cvFileName = Path.GetFileName(cv.FileName);
                    var cvGuid     = Guid.NewGuid().ToString();
                    var cvPath     = Path.Combine(Server.MapPath("~/UploadedFiles"), usuarioId + "_" + cvGuid + "_" + cvFileName);
                    cv.SaveAs(cvPath);
                    String   cvFl        = cvPath.Substring(cvPath.LastIndexOf("\\"));
                    String[] cvSplit     = cvFl.Split('\\');
                    String   cvNewPath   = cvSplit[1];
                    String   cvFinalPath = "/UploadedFiles/" + cvNewPath;
                    publicacion.CV = cvFinalPath;
                }
                else
                {
                    ModelState.AddModelError("CV", "Tipo de archivo no válido. Extensión permitida: pdf.");
                    return(View("../Publication/EditPublication", publicacion));
                }

                using (var db = new SQLServerContext())
                {
                    var     categoria      = form["categoria"];
                    var     disponibilidad = form["Disponibilidad[]"];
                    Usuario usuario        = db.Usuarios.Find(usuarioId);

                    publicacion.Categoria_Id        = Convert.ToInt32(categoria);
                    publicacion.Disponibilidad      = disponibilidad;
                    publicacion.FechaDePublicacion  = Convert.ToDateTime(DateTime.Now);
                    publicacion.FechaDeModificacion = Convert.ToDateTime(DateTime.Now);
                    publicacion.Estado  = "Pendiente";
                    publicacion.Usuario = usuario;

                    db.Publicaciones.Add(publicacion);
                    db.SaveChanges();

                    ModelState.Clear();

                    ViewBag.Message = "La publicacion fue guardada exitosamente.";

                    return(View());
                }
            }
            else
            {
                if (form["Disponibilidad[]"] == null)
                {
                    ModelState.AddModelError("Disponibilidad", "Debe seleccionar al menos un día de la semana.");
                }

                return(View());
            }
        }
Пример #27
0
        public void Process(Job job)
        {
            _logger.LogInformation($"Execution : {job.Name}");

            if (!job.Scheduled)
            {
                job.Scheduled = true;
            }

            var optionsBuilder      = new DbContextOptionsBuilder <SQLServerContext>();
            var connectionSQLServer = "Server=localhost;Database=worker-db;User Id=sa;Password=SqlExpress123;";

            optionsBuilder.UseSqlServer(connectionSQLServer);

            using (var db = new SQLServerContext(optionsBuilder.Options))
            {
                try
                {
                    db.Jobs.Update(job);
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Erro ao atualizar registro na tabela JOB - Erro: {ex.Message}");
                }
            }

            var jobResult = new JobResult {
                JobName = job.Name
            };

            var connectionMySql = "Server=localhost;Database=hubcommerce-db;User=root;Password=123;";

            using (MySqlConnection conn = new MySqlConnection(connectionMySql))
            {
                var query = job.SqlQuery.ToLower();

                conn.Open();

                using (MySqlCommand cmd = conn.CreateCommand())
                {
                    MySqlDataReader reader = null;

                    try
                    {
                        if (job.TimeoutSeconds.HasValue)
                        {
                            cmd.CommandTimeout = job.TimeoutSeconds.Value;
                        }

                        cmd.CommandText = query;

                        Stopwatch sw = new Stopwatch();
                        sw.Start();

                        reader = cmd.ExecuteReader();

                        sw.Stop();

                        var r    = Serialize(reader);
                        var json = JsonConvert.SerializeObject(r);

                        _logger.LogInformation($"Query executado com sucesso em {sw.Elapsed}");
                    }
                    catch (MySqlException ex)
                    {
                        switch (ex.Number)
                        {
                        case -1:
                            _logger.LogError($"O tempo limite do comando expirou, o tempo limite configurado para {job.TimeoutSeconds ?? 0} segundos.");
                            break;

                        default:
                            _logger.LogError($"Erro ao consultar a query: {query} - Erro {ex.Message}");
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError($"Erro ao consultar a query: {query} - Erro {ex.Message}");
                    }
                    finally
                    {
                        reader?.Close();
                        conn?.Close();
                    }
                }
            }

            using (MySqlConnection conn = new MySqlConnection(connectionMySql))
            {
                var query = job.SqlQuery.ToLower();

                Stopwatch sw = new Stopwatch();
                sw.Start();

                _logger.LogInformation($"Executar query: {query}");

                try
                {
                    var result = conn.Query(query) as IEnumerable <IDictionary <string, object> >;
                    result = result.Select(r => r.Distinct().ToDictionary(d => d.Key, d => d.Value));

                    if (result.Count() > 0)
                    {
                        var json = JsonConvert.SerializeObject(result);
                        _logger.LogInformation($"JSON: {json}");

                        Thread.Sleep(5000);
                        sw.Stop();
                        var now = DateTime.Now;
                        jobResult.ResultJson   = json;
                        jobResult.DateExecuted = now;
                        jobResult.Runtime      = sw.Elapsed;
                        jobResult.DateExpires  = now.AddMinutes(10);
                    }
                    else
                    {
                        sw.Stop();
                        _logger.LogInformation("Nenhum registro encontrado");
                    }
                }
                catch (Exception ex)
                {
                    sw.Stop();
                    _logger.LogError($"Erro ao consultar a query: {query} - Erro {ex.Message}");
                }
            }

            using (var db = new SQLServerContext(optionsBuilder.Options))
            {
                try
                {
                    db.JobsResult.Add(jobResult);
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    _logger.LogError($"Erro ao inserir registro na tabela JOBRESULT - Erro: {ex.Message}");
                }
            }
        }
Пример #28
0
        public static void Initialize()
        {
            String[] roles = new String[] { "USER", "ADMIN" };

            String[] categorias = new String[] {
                "Asistentes de Producción",
                "Camarógrafos",
                "Castineras",
                "Drones",
                "Editores",
                "Efectos FX",
                "Equipos de Audio",
                "Equipos de Video",
                "Escenógrafos",
                "Extras",
                "Fotógrafos",
                "Iluminadores",
                "Locaciones Privadas",
                "Maquilladores",
                "Postproducción",
                "Productores",
                "Sonidistas",
                "Utileros",
                "Vestuaristas"
            };

            using (var db = new SQLServerContext())
            {
                foreach (var rol in roles)
                {
                    Rol ro = db.Roles.SingleOrDefault(r => r.Nombre == rol);

                    if (ro == null)
                    {
                        // SI EL ROL NO EXISTE LO GUARDA EN LA BASE DE DATOS
                        Rol myRole = new Rol()
                        {
                            Nombre = rol
                        };
                        db.Roles.Add(myRole);
                    }
                }
                db.SaveChanges();

                Usuario usuario = db.Usuarios.Where(u => u.Email == "*****@*****.**").FirstOrDefault();

                String passwordAdmin = Crypto.HashPassword("contra#123");

                if (usuario == null)
                {
                    Usuario user = new Usuario
                    {
                        Nombre          = "Administrador",
                        Apellido        = "Claqueta",
                        Password        = passwordAdmin,
                        ConfirmPassword = passwordAdmin,
                        Activo          = true
                    };

                    Rol rol = db.Roles.SingleOrDefault(r => r.Nombre == "ADMIN");

                    user.Roles.Add(rol);
                    user.Email             = "*****@*****.**";
                    user.FechaDeNacimiento = Convert.ToDateTime("01/01/2000");
                    user.Telefono          = "12345678";
                    user.TipoDocumento     = "DNI";
                    user.Documento         = "12345678";

                    db.Usuarios.Add(user);
                    db.SaveChanges();
                }

                foreach (var categoria in categorias)
                {
                    Categoria cat = db.Categorias.SingleOrDefault(c => c.Nombre == categoria);

                    if (cat == null)
                    {
                        // SI LA CATEGORÍA NO EXISTE LA GUARDA EN LA BASE DE DATOS
                        Categoria miCategoria = new Categoria()
                        {
                            Nombre = categoria
                        };
                        db.Categorias.Add(miCategoria);
                    }
                }
                db.SaveChanges();
            }
        }
Пример #29
0
        public ActionResult EditPublication(Publicacion publicacion, FormCollection form, HttpPostedFileBase foto, HttpPostedFileBase cv)
        {
            using (var db = new SQLServerContext())
            {
                var categoria      = form["categoria"];
                var disponibilidad = form["Disponibilidad[]"];
                var publi          = db.Publicaciones.SingleOrDefault(p => p.Id == publicacion.Id);
                int usuarioId      = Int32.Parse(Session["UserId"].ToString());

                if (disponibilidad == null)
                {
                    ModelState.AddModelError("Disponibilidad", "Debe seleccionar al menos un día de la semana.");
                    return(View("../Publication/EditPublication", publi));
                }

                if (publi != null)
                {
                    publi.Categoria_Id   = Convert.ToInt32(categoria);
                    publi.Disponibilidad = disponibilidad;
                    publi.Ubicacion      = publicacion.Ubicacion;
                    publi.Titulo         = publicacion.Titulo;
                    publi.Descripcion    = publicacion.Descripcion;
                    publi.Precio         = publicacion.Precio;
                    publi.Referencias    = publicacion.Referencias;
                    publi.Reel           = publicacion.Reel;
                    publi.Visible        = false;
                    publi.Estado         = "Pendiente";

                    if (foto != null)
                    {
                        String fotoExtension = foto.FileName.Substring(foto.FileName.LastIndexOf('.') + 1).ToLower();

                        if (fotoExtension == "jpg" || fotoExtension == "jpeg" || fotoExtension == "png")
                        {
                            var fotoFileName = Path.GetFileName(foto.FileName);
                            var fotoGuid     = Guid.NewGuid().ToString();
                            var fotoPath     = Path.Combine(Server.MapPath("~/UploadedFiles"), usuarioId + "_" + fotoGuid + "_" + fotoFileName);
                            foto.SaveAs(fotoPath);
                            String   fotoFl        = fotoPath.Substring(fotoPath.LastIndexOf("\\"));
                            String[] fotoSplit     = fotoFl.Split('\\');
                            String   fotoNewPath   = fotoSplit[1];
                            String   fotoFinalPath = "/UploadedFiles/" + fotoNewPath;
                            publi.Foto = fotoFinalPath;
                        }
                        else
                        {
                            ModelState.AddModelError("Foto", "Tipo de archivo no válido. Extensiones permitidas: jpg, jpeg o png.");
                            return(View("../Publication/EditPublication", publi));
                        }
                    }

                    if (cv != null)
                    {
                        String CvExtension = cv.FileName.Substring(cv.FileName.LastIndexOf('.') + 1).ToLower();

                        if (CvExtension == "pdf")
                        {
                            var cvFileName = Path.GetFileName(cv.FileName);
                            var cvGuid     = Guid.NewGuid().ToString();
                            var cvPath     = Path.Combine(Server.MapPath("~/UploadedFiles"), usuarioId + "_" + cvGuid + "_" + cvFileName);
                            cv.SaveAs(cvPath);
                            String   cvFl        = cvPath.Substring(cvPath.LastIndexOf("\\"));
                            String[] cvSplit     = cvFl.Split('\\');
                            String   cvNewPath   = cvSplit[1];
                            String   cvFinalPath = "/UploadedFiles/" + cvNewPath;
                            publi.CV = cvFinalPath;
                        }
                        else
                        {
                            ModelState.AddModelError("CV", "Tipo de archivo no válido. Extensión permitida: pdf.");
                            return(View("../Publication/EditPublication", publi));
                        }
                    }

                    db.SaveChanges();

                    return(RedirectToAction("Publicaciones"));
                }
                else
                {
                    return(View());
                }
            }
        }