PageRenderTime 26ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/Aplicacion/fac_venta.cs

https://gitlab.com/makintosh/Farmacia
C# | 334 lines | 256 code | 44 blank | 34 comment | 4 complexity | 48d23c69d9241ff3205d9fd459922eda MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data.OleDb;
  6. using System.Data;
  7. using fabisa.Conexion;
  8. using Npgsql;
  9. using System.Windows.Forms;
  10. namespace fabisa.Aplicacion
  11. {
  12. class fac_venta:factura
  13. {
  14. //constructor heredando de factura
  15. public fac_venta():base()
  16. {
  17. }
  18. public detalleFactura detalleFacturaVenta
  19. {
  20. get
  21. {
  22. throw new System.NotImplementedException();
  23. }
  24. set
  25. {
  26. }
  27. }
  28. //Metodos
  29. //cuenta el numero de campos en la tabla factura_venta
  30. conexion_bd con = new conexion_bd();
  31. string sql;
  32. /// <summary>
  33. /// obtiene el numero mayor de las facturas de venta
  34. /// </summary>
  35. /// <returns></returns>
  36. public Int64 contar_max()
  37. {
  38. sql = ("SELECT MAX(numero_fac) FROM factura_venta");
  39. String dato = con.EjecutarExecuteQuery(sql);
  40. return Convert.ToInt64(dato);
  41. }
  42. //guardar la factura venta
  43. public void guardar(fac_venta fac,string ced_cli,string ced_usu,DateTime fecha)
  44. {
  45. sql = ("INSERT INTO factura_venta (numero_fac,fecha_fac,subtotal_fac,iva_fac,ivacero_fac,total_fac,hora_fac,cedula_usu,descuento_fac,cedula_cli,est_fac) VALUES ('" + fac.getNumeroFactura() + "','" + fecha.Date + "','" + fac.getSubtotal() + "','" + fac.getIva() + "','" + fac.getIvaCero() + "','" + fac.getTotalFactura() + "','" + fac.getFechaFactura().ToShortTimeString() + "','" + ced_usu + "','" + fac.getDescuento_fac() + "','" + ced_cli + "',TRUE)");
  46. con.EjecutarExecuteNonQuery(sql);
  47. }
  48. //guardar el detalle de la factura venta
  49. public void guardar_detalle_factura(double total, int cantidad, Int64 numero_fac, int codigo_pro, double currentPrice)
  50. {
  51. sql = ("INSERT INTO detalle_factura_venta (precio_det_fac_ven,cantidad_det_fac_ven,codigo_pro,numero_fac_ven, current_price_pro) VALUES ('" + total + "','" + cantidad + "','" + codigo_pro + "','" + numero_fac + "', '"+currentPrice+"')");
  52. con.EjecutarExecuteNonQuery(sql);
  53. }
  54. //muestra las facturas
  55. public DataTable mostrar_facturas()
  56. {
  57. DataTable cargar = new DataTable();
  58. try
  59. {
  60. sql = ( "SELECT numero, CONCAT(nombre,' ',apellido) as cliente, fecha, total FROM factura_venta_view WHERE estado = true" );
  61. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  62. consulta.Fill(cargar);
  63. }
  64. catch (NpgsqlException e)
  65. {
  66. MessageBox.Show("" + e);
  67. }
  68. return cargar;
  69. }
  70. //muestra las el detalle de las facturas segun el numero de factura
  71. public DataTable cargar_detalle_facturas(int numerofac)
  72. {
  73. DataTable cargar = new DataTable();
  74. try
  75. {
  76. sql = ("SELECT codigo , id , CONCAT(producto, ' ',unidad_medida) as producto, cantidad , precio::NUMERIC , total::NUMERIC FROM detalle_factura_venta_view WHERE numero=" + numerofac + "");
  77. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  78. consulta.Fill(cargar);
  79. }
  80. catch (NpgsqlException e)
  81. {
  82. MessageBox.Show("" + e);
  83. }
  84. return cargar;
  85. }
  86. public DataTable mostrar_facturasxfecha(DateTime fecha1, DateTime fecha2)
  87. {
  88. DataTable cargar = new DataTable();
  89. try {
  90. sql = ( "SELECT numero, CONCAT(nombre,' ',apellido) as cliente, fecha, total FROM factura_venta_view WHERE fecha BETWEEN '" + fecha1 + "' AND '" + fecha2 + "' AND estado = TRUE" );
  91. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  92. consulta.Fill(cargar);
  93. }
  94. catch (NpgsqlException e) {
  95. MessageBox.Show("" + e);
  96. }
  97. return cargar;
  98. }
  99. public DataTable mostrar_total_facxdia(string fecha)
  100. {
  101. DataTable cargar = new DataTable();
  102. try
  103. {
  104. sql = ("SELECT numero, cliente,fecha, total FROM factura_venta_view WHERE fecha = '" + fecha + "'");
  105. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  106. consulta.Fill(cargar);
  107. }
  108. catch (NpgsqlException e)
  109. {
  110. MessageBox.Show("" + e);
  111. }
  112. return cargar;
  113. }
  114. public DataTable mostrar_total_facxmes(string fecha)
  115. {
  116. DataTable cargar = new DataTable();
  117. try
  118. {
  119. sql = ( "SELECT numero, cliente,fecha, total FROM factura_venta_view WHERE EXTRACT(MONTH FROM fecha) = '" + fecha + "'" );
  120. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  121. consulta.Fill(cargar);
  122. }
  123. catch (NpgsqlException e)
  124. {
  125. MessageBox.Show("" + e);
  126. }
  127. return cargar;
  128. }
  129. public DataTable mostrar_total_facxyear(string fecha)
  130. {
  131. DataTable cargar = new DataTable();
  132. try
  133. {
  134. sql = ( "SELECT numero, cliente,fecha, total FROM factura_venta_view WHERE EXTRACT(YEAR FROM fecha_fac) = '" + fecha + "'" );
  135. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  136. consulta.Fill(cargar);
  137. }
  138. catch (NpgsqlException e)
  139. {
  140. MessageBox.Show("" + e);
  141. }
  142. return cargar;
  143. }
  144. //carga el combo box con la cedula y nombre del vendedor
  145. public DataTable cargar_combo_usuario()
  146. {
  147. DataTable data = new DataTable();
  148. try
  149. {
  150. sql = ("SELECT CONCAT(nombre_per,' ',apellido_per) as Vendedor,cedula_per as Cedula FROM usuario WHERE estado_per = TRUE ORDER BY nombre_per");
  151. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  152. consulta.Fill(data);
  153. }
  154. catch (NpgsqlException e)
  155. {
  156. MessageBox.Show("" + e);
  157. }
  158. return data;
  159. }
  160. //carga en el combobox de cliente
  161. public DataTable cargar_combo_cliente()
  162. {
  163. DataTable data = new DataTable();
  164. try
  165. {
  166. sql = ("SELECT CONCAT(nombre_per,' ',apellido_per) as Cliente,cedula_per as Cedula FROM cliente");
  167. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  168. consulta.Fill(data);
  169. }
  170. catch (NpgsqlException e)
  171. {
  172. MessageBox.Show("" + e);
  173. }
  174. return data;
  175. }
  176. //facturas por vendedor
  177. public DataTable fac_x_vendedor(string ced)
  178. {
  179. DataTable cargar = new DataTable();
  180. try
  181. {
  182. sql = ( "SELECT numero, CONCAT(nombre,' ',apellido) as cliente,fecha, total FROM factura_venta_view WHERE cedula_usu='" + ced + "' AND estado = TRUE " );
  183. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  184. consulta.Fill(cargar);
  185. }
  186. catch (NpgsqlException e)
  187. {
  188. MessageBox.Show("" + e);
  189. }
  190. return cargar;
  191. }
  192. //facturas de cada cliente
  193. public DataTable fac_x_cli(string ced)
  194. {
  195. DataTable cargar = new DataTable();
  196. try
  197. {
  198. sql = ( "SELECT numero, CONCAT(nombre,' ',apellido) as cliente,fecha, total FROM factura_venta_view WHERE cedula_cli='" + ced + "' AND estado = TRUE ORDER BY numero ASC" );
  199. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  200. consulta.Fill(cargar);
  201. }
  202. catch (NpgsqlException e)
  203. {
  204. MessageBox.Show("" + e);
  205. }
  206. return cargar;
  207. }
  208. public DataSet cargar_factura()
  209. {
  210. DataSet cargar = new DataSet();
  211. try
  212. {
  213. sql = ("SELECT * FROM factura_venta_view");
  214. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  215. consulta.Fill(cargar, "FACTURA");
  216. }
  217. catch (NpgsqlException e)
  218. {
  219. MessageBox.Show("" + e);
  220. }
  221. return cargar;
  222. }
  223. //autocompletar cliente
  224. public DataTable autocompletar_cliente()
  225. {
  226. DataTable dt_cliente = new DataTable();
  227. sql = ("SELECT cedula_per FROM cliente");
  228. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  229. consulta.Fill(dt_cliente);
  230. return dt_cliente;
  231. }
  232. /// <summary>
  233. /// Método para completar los textbox que pertenecen al cliente
  234. /// </summary>
  235. /// <param name="ced">Cédula</param>
  236. /// <returns>Retorna un DataSet con los datos del Cliente referido</returns>
  237. public DataSet autocompletar_cliente_en_textbox(string ced)
  238. {
  239. DataSet data = new DataSet();
  240. sql = ("SELECT CONCAT(nombre_per,' ',apellido_per) as Cliente, telefono_per as Tel, direccion_per as Direccion FROM cliente WHERE cedula_per='"+ced+"'");
  241. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  242. consulta.Fill(data, "cliente");
  243. return data;
  244. }
  245. /// <summary>
  246. /// Get invoice by numero_fac (PRIMARY KEY)
  247. /// </summary>
  248. /// <param name="invoiceId">numero_fac</param>
  249. /// <returns></returns>
  250. public DataSet getInvoiceById(int invoiceId){
  251. DataSet data = new DataSet();
  252. try {
  253. sql = ("SELECT * FROM factura_venta_view WHERE numero = '"+invoiceId+"' ");
  254. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  255. consulta.Fill(data, "FACTURA");
  256. }catch (NpgsqlException e) {
  257. MessageBox.Show("" + e);
  258. }
  259. return data;
  260. }
  261. /// <summary>
  262. /// Filters sales report by
  263. /// </summary>
  264. /// <param name="from">start date</param>
  265. /// <param name="to">end date</param>
  266. /// <param name="employeeCi">employee's identification number</param>
  267. /// <param name="clientId">client's identification number</param>
  268. /// <returns></returns>
  269. public DataTable getConsolidatedReport(DateTime from, DateTime to, string employeeCi, string clientId) {
  270. DataTable cargar = new DataTable();
  271. try {
  272. sql = "SELECT numero, vendedor, CONCAT(nombre,' ',apellido) as cliente, fecha, total"+
  273. " FROM factura_venta_view "+
  274. "WHERE fecha BETWEEN '" + from + "' AND '" + to + "' AND estado = TRUE";
  275. if (employeeCi != "-1") {
  276. sql += " AND cedula_usu = '" + employeeCi + "'";
  277. }
  278. if (clientId != "-1") {
  279. sql += " AND cedula_cli = '" + clientId + "'";
  280. }
  281. NpgsqlDataAdapter consulta = con.EjecutarExecuteReader1(sql);
  282. consulta.Fill(cargar);
  283. }
  284. catch (NpgsqlException e) {
  285. MessageBox.Show("" + e);
  286. }
  287. return cargar;
  288. }
  289. }
  290. }