/**
         * Elimina un registro de la tabla
         * @param TARIFA obj
         * @return Retorna un boolean indicando si se realizo o no la operacion
         */
        public bool eliminarTARIFA(TARIFA obj)
        {
            bool resultado;

            resultado = false;
            try
            {
                TARIFA_DETALLEManagement gestionDetalle = new TARIFA_DETALLEManagement();
                TARIFA_DETALLE           tARIFA_DETALLE = new TARIFA_DETALLE();
                tARIFA_DETALLE.ID_TARIFA = obj.ID;
                TARIFA_DETALLE[] lstDetalle = gestionDetalle.buscarTARIFA_DETALLE(tARIFA_DETALLE);
                if (lstDetalle != null && lstDetalle.Length > 0)
                {
                    foreach (TARIFA_DETALLE detalle in lstDetalle)
                    {
                        gestionDetalle.eliminarTARIFA_DETALLE(detalle);
                    }
                }
                TARIFADao dao = new TARIFADao();
                conn = conexion.conection();
                dao.delete(conn, obj);
                resultado = true;
            }
            catch (Exception e)
            {
                resultado = false;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(resultado);
        }
Example #2
0
 private void btnEditarDetalle_Click(object sender, EventArgs e)
 {
     if (grdTarifas.Rows != null && grdTarifas.Rows.Count > 0 && grdTarifas.SelectedRows != null && grdTarifas.SelectedRows.Count > 0)
     {
         if (grdDetalleTarifa.Rows != null && grdDetalleTarifa.Rows.Count > 0 && grdDetalleTarifa.SelectedRows != null && grdDetalleTarifa.SelectedRows.Count > 0)
         {
             TARIFA_DETALLE detalle = new TARIFA_DETALLE();
             detalle.ID = int.Parse(grdDetalleTarifa.SelectedRows[0].Cells["ID"].Value.ToString());
             detalle    = serviciosTARIFA_DETALLE.buscarPrimeroTARIFA_DETALLE(detalle);
             if (detalle != null && detalle.ID > 0)
             {
                 frmDetalleTarifa frm = new frmDetalleTarifa(operation.EDITAR, int.Parse(grdTarifas.SelectedRows[0].Cells["ID"].Value.ToString()), detalle);
                 frm.ShowDialog(this);
                 getTarifasDetalles(grdTarifas.SelectedRows[0].Cells["ID"].Value.ToString());
             }
             else
             {
                 MessageBox.Show("No se encontró el detalle de la tarifa seleccionado", "Sin detalle tarifa", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
         else
         {
             MessageBox.Show("Debe seleccionar un detalle de tarifa de la lista", "Sin detalle tarifa", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     else
     {
         MessageBox.Show("Debe seleccionar una tarifa de la lista", "Sin tarifa", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
Example #3
0
 private void eliminarTarifaDetalle()
 {
     if (grdDetalleTarifa.Rows != null && grdDetalleTarifa.Rows.Count > 0 &&
         grdDetalleTarifa.SelectedRows != null && grdDetalleTarifa.SelectedRows.Count > 0)
     {
         if (MessageBox.Show("¿Está seguro(a) que desea eliminar el detalle de tarifa " + grdDetalleTarifa.SelectedRows[0].Cells["CONCEPTO"].Value.ToString() +
                             "?", "Confirmar eliminación", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
         {
             TARIFA_DETALLE tarifaDetalle = new TARIFA_DETALLE();
             tarifaDetalle.ID = int.Parse(grdDetalleTarifa.SelectedRows[0].Cells["ID"].Value.ToString());
             if (serviciosTARIFA_DETALLE.eliminarTARIFA_DETALLE(tarifaDetalle))
             {
                 MessageBox.Show("Se eliminó correctamente el detalle de la tarifa seleccionado", "Eliminación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 getTarifasDetalles(grdTarifas.SelectedRows[0].Cells["ID"].Value.ToString());
             }
             else
             {
                 MessageBox.Show("Ocurrió un error y no se completó la leiminación correctamente", "Eliminación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
     }
     else
     {
         MessageBox.Show("Debe seleccionar un detalle de tarifa de la lista", "Sin detalle de tarifa", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
 }
        public TARIFA_DETALLE[] buscarTARIFA_DETALLE_SoloActivos(TARIFA_DETALLE obj)
        {
            TARIFA_DETALLE[]      result = null;
            List <TARIFA_DETALLE> lista  = null;

            try
            {
                TARIFA_DETALLEDao dao = new TARIFA_DETALLEDao();
                conn  = conexion.conection();
                lista = dao.searchSoloActivos(conn, obj);
                if (lista != null && lista.Count > 0)
                {
                    result = lista.ToArray();
                }
            }
            catch (Exception e)
            {
                result = null;
            }
            finally
            {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(result);
        }
        private List <TARIFA_DETALLE> listQuery(SqlCommand stmt)
        {
            List <TARIFA_DETALLE> searchResults = new List <TARIFA_DETALLE>();
            SqlDataReader         reader        = null;

            try
            {
                int intt = 0; long longg = 0; double doublee = 0; float floatt = 0; DateTime datee; byte[] bytee;
                reader = stmt.ExecuteReader();
                while (reader.Read())
                {
                    TARIFA_DETALLE temp = createValueObject();

                    temp.ID                 = reader["ID"] != null && int.TryParse(reader["ID"].ToString(), out intt) ? intt : 0;
                    temp.ID_TARIFA          = reader["ID_TARIFA"] != null && int.TryParse(reader["ID_TARIFA"].ToString(), out intt) ? intt : 0;
                    temp.ID_TARIFA_CONCEPTO = reader["ID_TARIFA_CONCEPTO"] != null && int.TryParse(reader["ID_TARIFA_CONCEPTO"].ToString(), out intt) ? intt : 0;
                    temp.TERCERO            = reader["TERCERO"] != null ? reader["TERCERO"].ToString() : null;
                    temp.DESCONTABLE        = reader["DESCONTABLE"] != null ? reader["DESCONTABLE"].ToString() : null;
                    temp.FORMULA            = reader["FORMULA"] != null ? reader["FORMULA"].ToString() : null;
                    searchResults.Add(temp);
                }
            }
            finally {
                if (!reader.IsClosed)
                {
                    reader.Close();
                }
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
            return(searchResults);
        }
        /**
         * Inserta nuevo registro en la tabla
         * @param TARIFA_DETALLE obj
         * @return Retorna el mismo objeto pero con la llave primaria configurada
         */
        public TARIFA_DETALLE crearTARIFA_DETALLE(TARIFA_DETALLE obj)
        {
            List <TARIFA_DETALLE> lista = null;

            try
            {
                TARIFA_DETALLEDao dao = new TARIFA_DETALLEDao();
                conn = conexion.conection();
                dao.create(conn, obj);
                //verificar existencia
                lista = dao.search(conn, obj);
                if (lista != null && lista.Count > 0)
                {
                    obj = (TARIFA_DETALLE)lista[0];
                }
                else
                {
                    obj.ID = -1;
                }
            }
            catch (Exception e)
            {
                obj.ID = -1;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(obj);
        }
        public void delete(SqlConnection conn, TARIFA_DETALLE valueObject)
        {
            SqlCommand stmt = null;
            String     sql  = "";

            try
            {
                sql  = "DELETE FROM TARIFA_DETALLE WHERE ( id = @id )";
                stmt = new SqlCommand(sql, conn);
                stmt.Parameters.AddWithValue("@id", valueObject.ID);
                int rowcount = databaseUpdate(stmt);
                if (rowcount == 0)
                {
                    throw new Exception("Object could not be deleted! (PrimaryKey not found)");
                }
                if (rowcount > 1)
                {
                    throw new Exception("PrimaryKey Error when updating DB! (Many objects were deleted!)");
                }
            } finally {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }
Example #8
0
 public frmDetalleTarifa(operation operacion, int idTarifa, TARIFA_DETALLE myTarifaDetalle)
 {
     InitializeComponent();
     serviciosTARIFA_CONCEPTO = (ServiciosTARIFA_CONCEPTO)Configurador.ConfigurarServicio(typeof(ServiciosTARIFA_CONCEPTO));
     serviciosTARIFA          = (ServiciosTARIFA)Configurador.ConfigurarServicio(typeof(ServiciosTARIFA));
     serviciosTARIFA_DETALLE  = (ServiciosTARIFA_DETALLE)Configurador.ConfigurarServicio(typeof(ServiciosTARIFA_DETALLE));
     getConceptos();
     this.operacion       = operacion;
     this.myTarifaDetalle = myTarifaDetalle;
     inicializarValores(idTarifa);
 }
 private void duplicarVigencia()
 {
     if (validarDatos())
     {
         VIGENCIA vigencia = new VIGENCIA();
         vigencia.NOMBRE = int.Parse(txtNuevaVigencia.Text);
         vigencia        = serviciosVIGENCIA.crearVIGENCIA(vigencia);
         if (vigencia != null && vigencia.ID > 0)
         {
             int    idVigenciaOrigen = int.Parse(cmbVigencia.SelectedValue.ToString());
             TARIFA tmpTarifa        = new TARIFA();
             tmpTarifa.ID_VIGENCIA = idVigenciaOrigen;
             TARIFA[] lstTarifas = serviciosTARIFA.buscarTARIFA(tmpTarifa);
             if (lstTarifas != null && lstTarifas.Length > 0)
             {
                 foreach (TARIFA tarifa in lstTarifas)
                 {
                     TARIFA_DETALLE detalle = new TARIFA_DETALLE();
                     detalle.ID_TARIFA = tarifa.ID;
                     TARIFA_DETALLE[] lstDetalles = serviciosTARIFA_DETALLE.buscarTARIFA_DETALLE(detalle);
                     tarifa.ID          = 0;
                     tarifa.ID_VIGENCIA = vigencia.ID;
                     TARIFA newTarifa = serviciosTARIFA.crearTARIFA(tarifa);
                     if (newTarifa != null && newTarifa.ID > 0)
                     {
                         if (lstDetalles != null && lstDetalles.Length > 0)
                         {
                             foreach (TARIFA_DETALLE tarifa_detalle in lstDetalles)
                             {
                                 tarifa_detalle.ID        = 0;
                                 tarifa_detalle.ID_TARIFA = newTarifa.ID;
                                 serviciosTARIFA_DETALLE.crearTARIFA_DETALLE(tarifa_detalle);
                             }
                         }
                     }
                     else
                     {
                         MessageBox.Show("ocurrio un error y la tarifa " + tarifa.NOMBRE + " no pudo ser creada", "Operación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
             }
             MessageBox.Show("Proceso de duplicado de vigencia terminado", "Operación terminada", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
         else
         {
             MessageBox.Show("Ocurrio un error y la vigencia no pudo ser creada", "Operación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Example #10
0
        public DataSet crearMultipleLIQUIDACION_1(TARIFA tarifa, int id_cliente)
        {
            DataTable lista = new DataTable();
            DataSet   ds    = new DataSet();

            lista.Columns.Add(new DataColumn("ID_TARIFADETALLE"));
            lista.Columns.Add(new DataColumn("CONCEPTO"));
            lista.Columns.Add(new DataColumn("VALOR"));
            lista.Columns.Add(new DataColumn("DESCONTABLE"));
            try
            {
                LIQUIDACION    liquidacion    = new LIQUIDACION();
                TARIFA_DETALLE tARIFA_DETALLE = new TARIFA_DETALLE();
                tARIFA_DETALLE.ID_TARIFA = tarifa.ID;
                TARIFA_DETALLEManagement tARIFA_DETALLEManagement = new TARIFA_DETALLEManagement();
                TARIFA_DETALLE[]         lst_tarifas_detalle      = tARIFA_DETALLEManagement.buscarTARIFA_DETALLE_SoloActivos(tARIFA_DETALLE);
                if (lst_tarifas_detalle != null && lst_tarifas_detalle.Length > 0)
                {
                    foreach (TARIFA_DETALLE item in lst_tarifas_detalle)
                    {
                        double valor;
                        valor = evaluarExpresion(tarifa, id_cliente, item.FORMULA);
                        DataRow dr = lista.NewRow();
                        dr["ID_TARIFADETALLE"] = item.ID;
                        dr["CONCEPTO"]         = getConcepto(item.ID_TARIFA_CONCEPTO);
                        dr["VALOR"]            = valor;
                        dr["DESCONTABLE"]      = item.DESCONTABLE;
                        lista.Rows.Add(dr);
                    }
                    ds.Tables.Add(lista);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                ds = null;
            }
            finally
            {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(ds);
        }
        /**
         * Edita un registro en la tabla
         * @param TARIFA_DETALLE obj
         * @return boolean indicando si se realizo o no la actualizacion
         */
        public bool editarTARIFA_DETALLE(TARIFA_DETALLE obj)
        {
            bool resultado;

            resultado = false;
            try
            {
                TARIFA_DETALLEDao dao = new TARIFA_DETALLEDao();
                conn = conexion.conection();
                dao.save(conn, obj);
                resultado = true;
            }
            catch (Exception e)
            {
                resultado = false;
            } finally {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(resultado);
        }
Example #12
0
 private void crearDetalleTarifa()
 {
     if (validarCampos())
     {
         TARIFA_DETALLE tmpDetalle = new TARIFA_DETALLE();
         tmpDetalle.ID_TARIFA          = myTarifa.ID;
         tmpDetalle.ID_TARIFA_CONCEPTO = ((TARIFA_CONCEPTO)cmbConcepto.SelectedItem).ID;
         tmpDetalle.FORMULA            = txtFormula.Text;
         if (chkDescontable.Checked)
         {
             tmpDetalle.DESCONTABLE = "SI";
         }
         else
         {
             tmpDetalle.DESCONTABLE = "NO";
         }
         if (chkTercero.Checked)
         {
             tmpDetalle.TERCERO = "SI";
         }
         else
         {
             tmpDetalle.TERCERO = "NO";
         }
         tmpDetalle = serviciosTARIFA_DETALLE.crearTARIFA_DETALLE(tmpDetalle);
         if (tmpDetalle != null && tmpDetalle.ID > 0)
         {
             MessageBox.Show("Se creo el detalle de la tarífa correctamente", "Operación correcta", MessageBoxButtons.OK, MessageBoxIcon.Information);
             txtFormula.Clear();
         }
         else
         {
             MessageBox.Show("Ocurrio un error y no se creo el detalle de la tarífa correctamente", "Operación incorrecta", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Example #13
0
        public RECIBO generarRECIBO(LIQUIDACION liquidacion, LIQUIDACION_DETALLE[] lstDetalles, VIEW_CLIENTE myCliente)
        {
            List <RECIBO> lista    = null;
            dsRecibo      dsRecibo = new dsRecibo();

            try
            {
                conn = conexion.conection();
                int numRecibo = Funciones.getId(conn, "RECIBOS");

                DataRow drEscuela = dsRecibo.ESCUELA.NewRow();
                Image   logo      = Resources.ResourceTmp.LogoConducimos;
                drEscuela["E_LOGO"]        = Funciones.Convertir_Imagen_Bytes(logo);
                drEscuela["E_NOMBRE"]      = "CENTRO DE ENSE�ANZA AUTOMOVIL�STICA CONDUCIMOS S.A.S";
                drEscuela["E_NUM_RECIBO"]  = numRecibo.ToString();
                drEscuela["E_FORMA_PAGO"]  = "Efectivo";
                drEscuela["E_SITIO_WEB"]   = "www.conducimos.com.co";
                drEscuela["E_NIT"]         = "900644828-1";
                drEscuela["E_DIRECCION"]   = "CRA 81 # 26-40";
                drEscuela["E_CIUDAD"]      = "Medell�n";
                drEscuela["E_TELEFONO"]    = "2566295";
                drEscuela["E_CODIGO_CIIU"] = "8559";
                dsRecibo.ESCUELA.Rows.Add(drEscuela);

                DataRow drCliente = dsRecibo.CLIENTE.NewRow();
                drCliente["C_TIPO_DOCUMENTO"]    = myCliente.TIPO_DOCUMENTO;
                drCliente["C_NOMBRES_APELLIDOS"] = myCliente.NOMBRES + " " + myCliente.APELLIDOS;
                drCliente["C_IDENTIFICACION"]    = myCliente.IDENTIFICACION;
                drCliente["C_DIRECCION"]         = myCliente.DIRECCION;
                drCliente["C_CIUDAD"]            = myCliente.CIUDAD;
                drCliente["C_TELEFONO"]          = myCliente.TELEFONO;
                drCliente["C_EMAIL"]             = myCliente.CORREO;
                dsRecibo.CLIENTE.Rows.Add(drCliente);

                TARIFA_CONCEPTOManagement tarifa_conceptoManagement = new TARIFA_CONCEPTOManagement();
                TARIFA_DETALLEManagement  tarifa_detalleManagement  = new TARIFA_DETALLEManagement();

                foreach (LIQUIDACION_DETALLE dETALLE in lstDetalles)
                {
                    TARIFA_DETALLE tarifaDetalle = new TARIFA_DETALLE();
                    tarifaDetalle.ID = dETALLE.ID_TARIFA_DETALLE;
                    tarifaDetalle    = tarifa_detalleManagement.buscarPrimeroTARIFA_DETALLE(tarifaDetalle);
                    if (tarifaDetalle != null && tarifaDetalle.ID_TARIFA_CONCEPTO > 0)
                    {
                        TARIFA_CONCEPTO concepto = new TARIFA_CONCEPTO();
                        concepto.ID = tarifaDetalle.ID_TARIFA_CONCEPTO;
                        concepto    = tarifa_conceptoManagement.buscarPrimeroTARIFA_CONCEPTO(concepto);
                        if (concepto != null && concepto.ID > 0)
                        {
                            DataRow drLiquidacion = dsRecibo.LIQUIDACION.NewRow();
                            drLiquidacion["L_CODIGO"]   = concepto.CODIGO;
                            drLiquidacion["L_CONCEPTO"] = concepto.NOMBRE;
                            drLiquidacion["L_CANTIDAD"] = 1;
                            drLiquidacion["L_UNIDAD"]   = 1;
                            drLiquidacion["L_VALOR"]    = dETALLE.VALOR_CONCEPTO;
                            drLiquidacion["L_IVA"]      = 0;
                            dsRecibo.LIQUIDACION.Rows.Add(drLiquidacion);
                        }
                    }
                }

                String fileName = "Recibo_" + myCliente.IDENTIFICACION.Trim() + "_No." + numRecibo + "_" + DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss.F") + ".pdf";
                fileName = fileName.Replace('/', '-');
                fileName = fileName.Replace(' ', '_');
                String path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Recibos";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path += "\\" + fileName;
                crRecibo reciboCrystal = new crRecibo();
                reciboCrystal.SetDataSource(dsRecibo);
                reciboCrystal.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
                RECIBO recibo = new RECIBO();
                recibo.ARCHIVO_FISICO = File.ReadAllBytes(path);
                recibo.FECHA_RECIBO   = DateTime.Now.Date;
                recibo.ID_LIQUIDACION = liquidacion.ID;
                recibo.NUMERO_RECIBO  = numRecibo.ToString();
                recibo.VALOR          = liquidacion.TOTAL;
                recibo.ID_ESTADO      = 1;
                recibo = crearRECIBO(recibo);
                return(recibo);
            }
            catch (Exception e)
            {
                return(null);
            }
            finally
            {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
        }
        public List <TARIFA_DETALLE> searchSoloActivos(SqlConnection conn, TARIFA_DETALLE valueObject)
        {
            List <TARIFA_DETALLE> searchResults = new List <TARIFA_DETALLE>();
            bool   first = true;
            String sql   =
                "SELECT TARIFA_DETALLE.* FROM TARIFA_DETALLE " +
                "LEFT JOIN TARIFA_CONCEPTO ON(TARIFA_DETALLE.ID_TARIFA_CONCEPTO = TARIFA_CONCEPTO.ID) " +
                "WHERE TARIFA_CONCEPTO.ESTADO = 'A' ";

            if (!String.IsNullOrEmpty(valueObject.ID.ToString()) && valueObject.ID > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND ID= '" + valueObject.ID + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.ID_TARIFA.ToString()) && valueObject.ID_TARIFA > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND ID_TARIFA= '" + valueObject.ID_TARIFA + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.ID_TARIFA_CONCEPTO.ToString()) && valueObject.ID_TARIFA_CONCEPTO > 0)
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND ID_TARIFA_CONCEPTO= '" + valueObject.ID_TARIFA_CONCEPTO + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.TERCERO))
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND TERCERO= '" + valueObject.TERCERO + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.DESCONTABLE))
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND DESCONTABLE= '" + valueObject.DESCONTABLE + "' ";
            }

            if (!String.IsNullOrEmpty(valueObject.FORMULA))
            {
                if (first)
                {
                    first = false;
                }
                sql += "AND FORMULA= '" + valueObject.FORMULA + "' ";
            }

            sql += "ORDER BY id ASC ";

            if (first)
            {
                searchResults = new List <TARIFA_DETALLE>();
            }
            else
            {
                searchResults = listQuery(new SqlCommand(sql, conn));
            }

            return(searchResults);
        }
        public void save(SqlConnection conn, TARIFA_DETALLE valueObject)
        {
            SqlCommand stmt = null;
            String     sql  = "";

            try
            {
                sql = "UPDATE TARIFA_DETALLE SET" +
                      " ID_TARIFA = @ID_TARIFA , ID_TARIFA_CONCEPTO = @ID_TARIFA_CONCEPTO , TERCERO = @TERCERO ," +
                      " DESCONTABLE = @DESCONTABLE , FORMULA = @FORMULA  WHERE (id = @id)";
                stmt = new SqlCommand(sql, conn);

                if (valueObject.ID_TARIFA > 0)
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA", valueObject.ID_TARIFA);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA", DBNull.Value);
                }

                if (valueObject.ID_TARIFA_CONCEPTO > 0)
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA_CONCEPTO", valueObject.ID_TARIFA_CONCEPTO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA_CONCEPTO", DBNull.Value);
                }


                if (!String.IsNullOrEmpty(valueObject.TERCERO) && valueObject.TERCERO.Length <= 2)
                {
                    stmt.Parameters.AddWithValue("@TERCERO", valueObject.TERCERO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@TERCERO", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.DESCONTABLE) && valueObject.DESCONTABLE.Length <= 2)
                {
                    stmt.Parameters.AddWithValue("@DESCONTABLE", valueObject.DESCONTABLE);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@DESCONTABLE", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.FORMULA) && valueObject.FORMULA.Length <= 8000)
                {
                    stmt.Parameters.AddWithValue("@FORMULA", valueObject.FORMULA);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@FORMULA", DBNull.Value);
                }

                stmt.Parameters.AddWithValue("@id", valueObject.ID);

                int rowcount = databaseUpdate(stmt);
                if (rowcount == 0)
                {
                    throw new Exception("Object could not be saved! (PrimaryKey not found)");
                }
            }
            finally
            {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }
        public FACTURA generarFACTURA(LIQUIDACION liquidacion, LIQUIDACION_DETALLE[] lstDetalles, VIEW_CLIENTE myCliente, Facturaconsecutivodetalle rango)
        {
            List <RECIBO>      lista              = null;
            dsFactura          dsFactura          = new dsFactura();
            FACTURACONSECUTIVO facturaConsecutivo = new FACTURACONSECUTIVO();

            facturaConsecutivoManagement = new FACTURACONSECUTIVOManagement();
            facturaManagement            = new FACTURAManagement();
            facturaConsecutivo.ID        = rango.ID_FACTURACONSECUTIVO;
            facturaConsecutivo           = facturaConsecutivoManagement.buscarPrimeroFACTURACONSECUTIVO(facturaConsecutivo);
            try
            {
                conn = conexion.conection();
                //int numRecibo = Funciones.getId(conn, "RECIBOS");

                DataRow drEscuela = dsFactura.ESCUELA.NewRow();
                Image   logo      = Resources.ResourceTmp.LogoConducimos;
                drEscuela["E_LOGO"]        = Funciones.Convertir_Imagen_Bytes(logo);
                drEscuela["E_NOMBRE"]      = "CENTRO DE ENSEÑANZA AUTOMOVILÍSTICA CONDUCIMOS S.A.S";
                drEscuela["E_NUM_RECIBO"]  = rango.CONSECUTIVO;// myFactura.NUMERO_FACTURA.ToString();
                drEscuela["E_FORMA_PAGO"]  = "Efectivo";
                drEscuela["E_SITIO_WEB"]   = "www.conducimos.com.co";
                drEscuela["E_NIT"]         = "900644828-1";
                drEscuela["E_DIRECCION"]   = "CRA 81 # 26-40";
                drEscuela["E_CIUDAD"]      = "Medellín";
                drEscuela["E_TELEFONO"]    = "2566295";
                drEscuela["E_CODIGO_CIIU"] = "8559";
                if (facturaConsecutivo != null && facturaConsecutivo.ID > 0)
                {
                    drEscuela["E_NUM_RESOLUCION"]   = facturaConsecutivo.RESOLUCION;
                    drEscuela["E_FECHA_RESOLUCION"] = facturaConsecutivo.FECHA_RESOLUCION.ToString("dd MMMM yyyy", CultureInfo.CreateSpecificCulture("es-MX"));
                    drEscuela["E_RANGO_INICIAL"]    = facturaConsecutivo.RANGO_INICIAL;
                    drEscuela["E_RANGO_FINAL"]      = facturaConsecutivo.RANGO_FINAL;
                }
                dsFactura.ESCUELA.Rows.Add(drEscuela);

                DataRow drCliente = dsFactura.CLIENTE.NewRow();
                drCliente["C_TIPO_DOCUMENTO"]    = myCliente.TIPO_DOCUMENTO;
                drCliente["C_NOMBRES_APELLIDOS"] = myCliente.NOMBRES + " " + myCliente.APELLIDOS;
                drCliente["C_IDENTIFICACION"]    = myCliente.IDENTIFICACION;
                drCliente["C_DIRECCION"]         = myCliente.DIRECCION;
                drCliente["C_CIUDAD"]            = myCliente.CIUDAD;
                drCliente["C_TELEFONO"]          = myCliente.TELEFONO;
                drCliente["C_EMAIL"]             = myCliente.CORREO;
                dsFactura.CLIENTE.Rows.Add(drCliente);

                TARIFA_CONCEPTOManagement tarifa_conceptoManagement = new TARIFA_CONCEPTOManagement();
                TARIFA_DETALLEManagement  tarifa_detalleManagement  = new TARIFA_DETALLEManagement();

                foreach (LIQUIDACION_DETALLE dETALLE in lstDetalles)
                {
                    TARIFA_DETALLE tarifaDetalle = new TARIFA_DETALLE();
                    tarifaDetalle.ID = dETALLE.ID_TARIFA_DETALLE;
                    tarifaDetalle    = tarifa_detalleManagement.buscarPrimeroTARIFA_DETALLE(tarifaDetalle);
                    if (tarifaDetalle != null && tarifaDetalle.ID_TARIFA_CONCEPTO > 0)
                    {
                        TARIFA_CONCEPTO concepto = new TARIFA_CONCEPTO();
                        concepto.ID = tarifaDetalle.ID_TARIFA_CONCEPTO;
                        concepto    = tarifa_conceptoManagement.buscarPrimeroTARIFA_CONCEPTO(concepto);
                        if (concepto != null && concepto.ID > 0)
                        {
                            DataRow drLiquidacion = dsFactura.LIQUIDACION.NewRow();
                            drLiquidacion["L_CODIGO"]   = concepto.CODIGO;
                            drLiquidacion["L_CONCEPTO"] = concepto.NOMBRE;
                            drLiquidacion["L_CANTIDAD"] = 1;
                            drLiquidacion["L_UNIDAD"]   = 1;
                            drLiquidacion["L_VALOR"]    = dETALLE.VALOR_CONCEPTO;
                            drLiquidacion["L_IVA"]      = 0;
                            dsFactura.LIQUIDACION.Rows.Add(drLiquidacion);
                        }
                    }
                }

                String fileName = "Factura_" + myCliente.IDENTIFICACION.Trim() + "_No." + rango.CONSECUTIVO + "_" + DateTime.Now.ToString("dd-MM-yyyy hh-mm-ss.F") + ".pdf";
                fileName = fileName.Replace('/', '-');
                fileName = fileName.Replace(' ', '_');
                String path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Facturas";
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                path += "\\" + fileName;
                crFactura facturaCrystal = new crFactura();
                facturaCrystal.SetDataSource(dsFactura);
                facturaCrystal.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, path);
                FACTURA factura = new FACTURA();
                factura.ARCHIVO_FISICO    = File.ReadAllBytes(path);
                factura.ID_FACTURA_ESTADO = 1;
                factura.ID_LIQUIDACION    = liquidacion.ID;
                factura.NUMERO_FACTURA    = rango.CONSECUTIVO.ToString();
                factura.DISPONIBLE        = "NO";
                factura = facturaManagement.crearFACTURA(factura);
                return(factura);
            }
            catch (Exception e)
            {
                return(null);
            }
            finally
            {
                if (conn != null && conn.State == System.Data.ConnectionState.Open)
                {
                    conn.Close();
                }
            }
        }
 public bool eliminarTARIFA_DETALLE(TARIFA_DETALLE obj)
 {
     return(gestionTARIFA_DETALLE.eliminarTARIFA_DETALLE(obj));
 }
 public TARIFA_DETALLE[] buscarTARIFA_DETALLE(TARIFA_DETALLE obj)
 {
     return(gestionTARIFA_DETALLE.buscarTARIFA_DETALLE(obj));
 }
 public TARIFA_DETALLE buscarPrimeroTARIFA_DETALLE(TARIFA_DETALLE obj)
 {
     return(gestionTARIFA_DETALLE.buscarPrimeroTARIFA_DETALLE(obj));
 }
 public bool editarTARIFA_DETALLE(TARIFA_DETALLE obj)
 {
     return(gestionTARIFA_DETALLE.editarTARIFA_DETALLE(obj));
 }
 public TARIFA_DETALLE crearTARIFA_DETALLE(TARIFA_DETALLE obj)
 {
     return(gestionTARIFA_DETALLE.crearTARIFA_DETALLE(obj));
 }
        public void create(SqlConnection conn, TARIFA_DETALLE valueObject)
        {
            String     sql  = "";
            SqlCommand stmt = null;

            try
            {
                sql = "INSERT INTO TARIFA_DETALLE (" +
                      " ID_TARIFA, ID_TARIFA_CONCEPTO, TERCERO," +
                      " DESCONTABLE, FORMULA)" +
                      "VALUES (@ID_TARIFA,@ID_TARIFA_CONCEPTO,@TERCERO,@DESCONTABLE,@FORMULA)";

                stmt = new SqlCommand(sql, conn);

                if (valueObject.ID_TARIFA > 0)
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA", valueObject.ID_TARIFA);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA", DBNull.Value);
                }

                if (valueObject.ID_TARIFA_CONCEPTO > 0)
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA_CONCEPTO", valueObject.ID_TARIFA_CONCEPTO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@ID_TARIFA_CONCEPTO", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.TERCERO) && valueObject.TERCERO.Length <= 2)
                {
                    stmt.Parameters.AddWithValue("@TERCERO", valueObject.TERCERO);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@TERCERO", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.DESCONTABLE) && valueObject.DESCONTABLE.Length <= 2)
                {
                    stmt.Parameters.AddWithValue("@DESCONTABLE", valueObject.DESCONTABLE);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@DESCONTABLE", DBNull.Value);
                }

                if (!String.IsNullOrEmpty(valueObject.FORMULA) && valueObject.FORMULA.Length <= 8000)
                {
                    stmt.Parameters.AddWithValue("@FORMULA", valueObject.FORMULA);
                }
                else
                {
                    stmt.Parameters.AddWithValue("@FORMULA", DBNull.Value);
                }

                databaseUpdate(stmt);
            } finally {
                if (stmt != null)
                {
                    stmt.Dispose();
                }
            }
        }