public void Delete(Material material)
 {
     var materials = db.GetCollection<Material>("Materials");
     var query = Query.And(Query.EQ("Name", material.Name));
     var findAndRemoveArguments = new FindAndRemoveArgs();
     findAndRemoveArguments.Query = query;
     materials.FindAndRemove(findAndRemoveArguments);
 }
예제 #2
0
        public static int Inserta(Material material, List<Pais> pais, int usuarioID)
        {
            SqlCommand cmdAgregarMaterial = new SqlCommand();
            // Indicamos sus parametro de CommandTExt y la Conexion. del Objeto Command
            cmdAgregarMaterial.CommandText = SQLHelpers.MaterialSQLHelper.INSERTA_MATERIAL;

            cmdAgregarMaterial.CommandType = CommandType.StoredProcedure;
            cmdAgregarMaterial.Connection = DBConnection.Open();

            SqlParameter prmMaterialId = new SqlParameter(MaterialSQLHelper.PARAMETRO_MATERIALID, SqlDbType.Int);
            prmMaterialId.Direction = ParameterDirection.Output;
            cmdAgregarMaterial.Parameters.Add(prmMaterialId);

            //Declarando los Parametros
            SqlParameter[] parametros = new SqlParameter[8];

            //Asignando Valores

            parametros[0] = new SqlParameter(MaterialSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100);
            parametros[0].Value = material.Nombre;

            parametros[1] = new SqlParameter(MaterialSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar);
            parametros[1].Value = material.Descripcion;

            parametros[2] = new SqlParameter(MaterialSQLHelper.PARAMETRO_AUTOR, SqlDbType.NVarChar, 150);
            parametros[2].Value = material.Autor;
            //parametros[2].Value = Convert.ToDateTime("17/10/2012");

            parametros[3] = new SqlParameter(MaterialSQLHelper.PARAMETRO_FECHA, SqlDbType.DateTime);
            parametros[3].Value = Convert.ToDateTime(material.Fecha);

            parametros[4] = new SqlParameter(MaterialSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000);
            parametros[4].Value = material.Foto;

            parametros[5] = new SqlParameter(MaterialSQLHelper.PARAMETRO_DOCUMENTO, SqlDbType.VarBinary, 7000);
            parametros[5].Value = material.Documento;

            parametros[6] = new SqlParameter(MaterialSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int);
            parametros[6].Value = Convert.ToInt32(material.Publicado);

            parametros[7] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_USUARIOID, SqlDbType.Int);
            parametros[7].Value = usuarioID;

            //Agregando nuestros parametros al command
            cmdAgregarMaterial.Parameters.AddRange(parametros);

            //Ejecutamos el NonQuery

            SqlDataReader dr = cmdAgregarMaterial.ExecuteReader();
            int ArticID = int.Parse(cmdAgregarMaterial.Parameters[MaterialSQLHelper.PARAMETRO_MATERIALID].Value.ToString());
            dr.Close();
            DBConnection.Close(cmdAgregarMaterial.Connection);
            InsertaMaterialPais(ArticID, pais);
            // Cerramos la conexion

            return ArticID;
        }
        public void Import()
        {
            XDocument xmlDoc = XDocument.Load(documentPath);
            var descendants = xmlDoc.Descendants("material");
            Console.WriteLine("Seeding materials from XML to SQL");
            foreach (var node in descendants)
            {
                var item = new Material();
                item.Name = node.Element("name").Value;
                item.PricePerUnit = decimal.Parse(node.Element("price-per-unit").Value);
                item.MeasurementUnit = node.Element("measure-unit").Value;

                this.materialsDb.Add(item);
                Console.Write(".");
            }

            this.materialsDb.SaveChanges();
        }
예제 #4
0
        public static List<Material> Consulta(int usuarioID, int rolID)
        {
            //Creamos un objeto SQLcommand
            SqlCommand cmdConsulta = new SqlCommand(MaterialSQLHelper.CONSULTA_MATERIAL, DBConnection.Open());
            cmdConsulta.CommandType = CommandType.StoredProcedure;

            SqlParameter[] parametros1 = new SqlParameter[2];
            //Asignando Valores

            parametros1[0] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_USUARIOID, SqlDbType.Int);
            parametros1[0].Value = usuarioID;

            parametros1[1] = new SqlParameter(UsuarioSQLHelper.PARAMETRO_ROL_ID, SqlDbType.Int);
            parametros1[1].Value = rolID;
            //Agregando nuestros parametros al command
            cmdConsulta.Parameters.AddRange(parametros1);

            SqlDataReader reader = cmdConsulta.ExecuteReader();

            List<Material> itemsMateriales = new List<Material>();

            Material material = null;

            while (reader.Read())
            {
                material = new Material();

                material.Nombre = reader["nombre"].ToString();
                material.Publicado = int.Parse(reader["publicado"].ToString());
                material.Id = int.Parse(reader["id"].ToString());

                itemsMateriales.Add(material);

            }
            DBConnection.Close(cmdConsulta.Connection);

            return itemsMateriales;
        }
 public void Insert(Material material)
 {
     var materials = db.GetCollection<Material>("Materials");
     materials.Insert(material);
 }
예제 #6
0
        public bool ModificarMaterial(Material material, int[] paisesElegidos, int usuarioID, int rolID)
        {
            bool Exito = false;

            SqlCommand cmdModificar = new SqlCommand();

            cmdModificar.CommandText = MaterialSQLHelper.UPDATE_MATERIAL;
            cmdModificar.CommandType = CommandType.StoredProcedure;
            cmdModificar.Connection = DBConnection.Open();

            SqlParameter[] parametros = new SqlParameter[8];

            parametros[0] = new SqlParameter(MaterialSQLHelper.PARAMETRO_MATERIALID, SqlDbType.Int);
            parametros[0].Value = material.Id;

            parametros[1] = new SqlParameter(MaterialSQLHelper.PARAMETRO_NOMBRE, SqlDbType.NVarChar, 100);
            parametros[1].Value = material.Nombre;

            parametros[2] = new SqlParameter(MaterialSQLHelper.PARAMETRO_DESCRIPCION, SqlDbType.NVarChar);
            parametros[2].Value = material.Descripcion;

            parametros[3] = new SqlParameter(MaterialSQLHelper.PARAMETRO_AUTOR, SqlDbType.NVarChar, 150);
            parametros[3].Value = material.Autor;
            //parametros[2].Value = Convert.ToDateTime("17/10/2012");

            parametros[4] = new SqlParameter(MaterialSQLHelper.PARAMETRO_FECHA, SqlDbType.DateTime);
            parametros[4].Value = Convert.ToDateTime(material.Fecha);

            parametros[5] = new SqlParameter(MaterialSQLHelper.PARAMETRO_FOTO, SqlDbType.VarBinary, 7000);
            parametros[5].Value = material.Foto;

            parametros[6] = new SqlParameter(MaterialSQLHelper.PARAMETRO_DOCUMENTO, SqlDbType.VarBinary, 7000);
            parametros[6].Value = material.Documento;

            parametros[7] = new SqlParameter(MaterialSQLHelper.PARAMETRO_PUBLICADO, SqlDbType.Int);
            parametros[7].Value = Convert.ToInt32(material.Publicado);

            cmdModificar.Parameters.AddRange(parametros);
            cmdModificar.ExecuteReader();

            DBConnection.Close(cmdModificar.Connection);

            List<int> paisesActivos = ConsultaMaterialPais(material.Id,usuarioID, rolID);
            //paisesElegidos

            //checar los paises seleccionados vs los que tengo registrados
            //los que no esten en los seleccionados y en los registrados si a esos eliminarlos
            int[] arrpaisesActivos = new int[paisesActivos.ToArray().Length];
            int contpa = 0;

            foreach (int pa in paisesActivos)
            {
                arrpaisesActivos[contpa] = pa;
                contpa++;
            }

            List<Pais> paisNuevo = new List<Pais>();
            Pais paisagr = null;

            foreach (int eleg1 in paisesElegidos)
            {
                bool agrega = false;
                foreach (int act2 in arrpaisesActivos)
                {
                    if (eleg1 == act2)
                    {
                        agrega = false;
                        break;
                    }
                    else
                    {
                        agrega = true;
                    }

                }
                if (agrega)
                {
                    paisagr = new Pais();
                    paisagr.Id = eleg1;
                    paisNuevo.Add(paisagr);
                }
            }

            MaterialDAO.InsertaMaterialPais(material.Id, paisNuevo);

            foreach (int act in arrpaisesActivos)
            {
                bool elimina = false;
                foreach (int eleg in paisesElegidos)
                {
                    if (eleg == act)
                    {
                        elimina = false;
                        break;
                    }
                    else
                    {
                        elimina = true;
                    }

                }
                if (elimina) { EliminarMaterialPais(act); }
            }

            //los que no esten en los registrados pero si en los seleccionados registrarlos ocmo uno nuevo

            Exito = true;

            return Exito;
        }
예제 #7
0
        /*******************************************************************************************/
        public Material ConsultarUnMaterial(int idMaterial)
        {
            Material material = new Material();
            try
            {
                SqlCommand cmdConsulta = new SqlCommand();
                cmdConsulta.CommandText = MaterialSQLHelper.CONSULTA_UN_MATERIAL;
                cmdConsulta.CommandType = CommandType.StoredProcedure;
                cmdConsulta.Connection = DBConnection.Open();

                SqlParameter parametro = new SqlParameter();
                parametro = new SqlParameter(MaterialSQLHelper.PARAMETRO_MATERIALID, SqlDbType.Int);
                parametro.Value = idMaterial;
                cmdConsulta.Parameters.Add(parametro);

                SqlDataReader drConsulta = cmdConsulta.ExecuteReader();

                while (drConsulta.Read())
                {
                    material.Id = drConsulta.GetInt32(0);
                    material.Nombre = drConsulta.GetString(1);
                    material.Descripcion = drConsulta.GetString(2);
                    material.Autor = drConsulta.GetString(3);
                    material.Fecha = drConsulta.GetString(4);
                    //material.Foto = drConsulta.GetString(5);
                   // material.Documento = drConsulta.GetString(6);
                    material.Publicado = drConsulta.GetInt32(7);

                }

                DBConnection.Close(cmdConsulta.Connection);
            }
            catch (Exception exc)
            {
                Console.Write(exc);
            }
            return material;
        }
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (idMaterial != 0)//es modificacion
            {
                Material material = new Material();
                //material.Foto = hiddenFoto.Value;
                //material.Documento = HiddenDoc.Value;

                //string ubicacionfoto = null;
                //string ubicaciondoc = null;
                bool fileOK = false;
                bool fileOK2 = false;
                //String path = Server.MapPath("~/FotosMateriales/");
                //string rutafotos = "/FotosMateriales/";
                //String path2 = Server.MapPath("~/DocMateriales/");
                //string rutaDoc = "/DocMateriales/";
                bool avanza = false;
                bool avanza2 = false;
                if (fileFoto.HasFile)
                {
                    String fileExtension =
                        System.IO.Path.GetExtension(fileFoto.FileName).ToLower();
                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };
                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (fileExtension == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }
                }

                if (fileFoto2.HasFile)
                {
                    String fileExtension2 = System.IO.Path.GetExtension(fileFoto2.FileName).ToLower();
                    String[] allowedExtensions2 = { ".pdf" };
                    for (int i = 0; i < allowedExtensions2.Length; i++)
                    {
                        if (fileExtension2 == allowedExtensions2[i])
                        {
                            fileOK2 = true;
                        }
                    }
                }

                if (fileFoto.HasFile && fileOK)
                {
                    //subir archivo
                    //string nombreArchivo = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName;
                    //ubicacionfoto = path + nombreArchivo;
                    //fileFoto.PostedFile.SaveAs(ubicacionfoto);
                    //material.Foto = rutafotos + nombreArchivo;
                    avanza = true;
                }
                else
                {
                    if (fileFoto.HasFile && !fileOK)
                    {
                        avanza = false;
                    }
                    else
                    {
                        avanza = true;
                    }
                }

                if (fileFoto2.HasFile && fileOK2)
                {
                    //subir archivo
                    //string nombreArchivo2 = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto2.FileName;
                    //ubicaciondoc = path2 + nombreArchivo2;
                    //fileFoto2.PostedFile.SaveAs(ubicaciondoc);
                    //material.Documento = rutaDoc + nombreArchivo2;

                    avanza2 = true;
                }
                else
                {
                    if (fileFoto2.HasFile && !fileOK2)
                    {
                        avanza2 = false;
                    }
                    else
                    {
                        avanza2 = true;
                    }
                }

                if (avanza && avanza2)
                {
                    //proceder a hacer la modificacion
                    material.Id = idMaterial;
                    material.Nombre = txtNombre.Text;
                    material.Descripcion = txtDescripcion.Text;
                    material.Autor = txtAutor.Text;
                    material.Fecha = txtFecha.Text;

                    HttpPostedFile ImgFile = fileFoto.PostedFile;
                    Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength];
                    ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength);
                    material.Foto = byteImage;

                    HttpPostedFile PdfFile = fileFoto2.PostedFile;
                    Byte[] bytePdf = new Byte[fileFoto2.PostedFile.ContentLength];
                    PdfFile.InputStream.Read(bytePdf, 0, fileFoto2.PostedFile.ContentLength);
                    material.Documento = bytePdf;

                    if (CheckPublicado.Checked)
                    {
                        material.Publicado = 1;
                    }
                    else
                    {
                        material.Publicado = 0;
                    }

                    this.lblMensaje.Visible = true;
                    int[] listaPaises;
                    int contador = 0;
                    for (int i = 0; i < checkPaises.Items.Count; i++)
                    {

                        if (checkPaises.Items[i].Selected)
                        {
                            contador++;

                        }

                    }

                    listaPaises = new int[contador];
                    contador = 0;
                    int posicion = 0;
                    for (int i = 0; i < checkPaises.Items.Count; i++)
                    {

                        if (checkPaises.Items[i].Selected)
                        {
                            // contador++;
                            listaPaises[posicion] = int.Parse(checkPaises.Items[i].Value);
                            posicion++;
                        }

                    }

                    try
                    {
                        MaterialDAO daoModifica = new MaterialDAO();

                        if (daoModifica.ModificarMaterial(material, listaPaises, int.Parse(Session["id"].ToString()), int.Parse(Session["rol"].ToString())))
                        {
                            this.lblMensaje.Text = "Se Modificó correctamente el Material ID = " + idMaterial;
                        }
                        else
                            this.lblMensaje.Text = "Ocurrió un error al tratar de modificar el Material";
                    }
                    catch (Exception exc)
                    {
                        Response.Write("Ocurrió un error " + exc);
                    }
                }
                else
                {
                    if (!avanza)
                    {
                        Label1.Text = "No se aceptan archivos de este tipo";
                    }
                    if (!avanza2)
                    {
                        Label2.Text = "No se aceptan archivos de este tipo";
                    }
                }

            }
            else
            {
                /**
                Verificamos que el usuario haya subido el archivo
                */
                //string ubicacionfoto = null;
                //string ubicaciondoc = null;
                Boolean fileOK = false;
                Boolean fileOK2 = false;
                //String path = Server.MapPath("~/FotosMateriales/");
                //string rutafotos = "/FotosMateriales/";
                //String path2 = Server.MapPath("~/DocMateriales/");
                //string rutaDoc = "/DocMateriales/";

                if (fileFoto.HasFile && fileFoto2.HasFile)
                {
                    String fileExtension = System.IO.Path.GetExtension(fileFoto.FileName).ToLower();
                    String[] allowedExtensions = { ".gif", ".png", ".jpeg", ".jpg" };
                    for (int i = 0; i < allowedExtensions.Length; i++)
                    {
                        if (fileExtension == allowedExtensions[i])
                        {
                            fileOK = true;
                        }
                    }

                    String fileExtension2 = System.IO.Path.GetExtension(fileFoto2.FileName).ToLower();
                    String[] allowedExtensions2 = { ".pdf" };
                    for (int ii = 0; ii < allowedExtensions2.Length; ii++)
                    {
                        if (fileExtension2 == allowedExtensions2[ii])
                        {
                            fileOK2 = true;
                        }
                    }
                }

                if (fileOK && fileOK2)
                {
                    try
                    {
                        //string nombreArchivofoto = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto.FileName;
                        //ubicacionfoto = path + nombreArchivofoto;

                        ////ubicacion = path + DateTime.Now.ToString("ddMMyyyy") + fileFoto.FileName;
                        //fileFoto.PostedFile.SaveAs(ubicacionfoto);
                        ////Label1.Text = "File uploaded!";

                        //string nombreArchivoDoc = DateTime.Now.ToString("ddMMyyyyhhmmss") + fileFoto2.FileName;
                        //ubicaciondoc = path2 + nombreArchivoDoc;

                        //fileFoto2.PostedFile.SaveAs(ubicaciondoc);
                        //Label2.Text = "File uploaded!";

                        Material material = new Material();
                        material.Nombre = txtNombre.Text;
                        material.Descripcion = txtDescripcion.Text;
                        material.Autor = txtAutor.Text;
                        material.Fecha = txtFecha.Text;
                        //material.Foto = rutafotos + nombreArchivofoto;
                        //material.Documento = rutaDoc + nombreArchivoDoc;
                        HttpPostedFile ImgFile = fileFoto.PostedFile;
                        Byte[] byteImage = new Byte[fileFoto.PostedFile.ContentLength];
                        ImgFile.InputStream.Read(byteImage, 0, fileFoto.PostedFile.ContentLength);
                        material.Foto = byteImage;

                        HttpPostedFile PdfFile = fileFoto2.PostedFile;
                        Byte[] bytePdf = new Byte[fileFoto2.PostedFile.ContentLength];
                        PdfFile.InputStream.Read(bytePdf, 0, fileFoto2.PostedFile.ContentLength);
                        material.Documento = bytePdf;

                        if (CheckPublicado.Checked)
                        {
                            material.Publicado = 1;
                        }
                        else
                        {
                            material.Publicado = 0;
                        }

                        try
                        {

                            this.lblMensaje.Visible = true;
                            List<Pais> listaPaises = new List<Pais>();
                            Pais listcheckPais = null;
                            for (int i = 0; i < checkPaises.Items.Count; i++)
                            {

                                if (checkPaises.Items[i].Selected)
                                {

                                    //lblMensaje.Text += checkPaises.Items[i].Text + "<br>";
                                    listcheckPais = new Pais();
                                    listcheckPais.Nombre = checkPaises.Items[i].Text;
                                    listcheckPais.Id = int.Parse(checkPaises.Items[i].Value);
                                    listaPaises.Add(listcheckPais);
                                }

                            }

                            int MaterialID = MaterialDAO.Inserta(material, listaPaises, int.Parse(Session["id"].ToString()));

                            this.lblMensaje.Text = "Se ingreso correctamente el Material ID = " + MaterialID;
                            this.resetControles();
                            //checkPaises.Items.Clear();
                            //this.cargaPaises();

                        }
                        catch (Exception exe)
                        {
                            this.lblMensaje.Visible = true;
                            this.lblMensaje.Text = "Error Mensaje:" + exe;
                        }
                    }
                    catch (Exception ex)
                    {
                        Console.Write(ex);
                        Label1.Text = "File could not be uploaded.";
                        Label2.Text = "File could not be uploaded.";
                    }
                }
                else
                {
                    Label1.Text = "Cannot accept files of this type.";
                    Label2.Text = "Cannot accept files of this type.";
                }
                /*Terminamos de verificar lo del archivo*/
            }
        }