/// <summary> /// Delete a ticket by ID. /// </summary> /// <param int="ticketId">The ID of the ticket</param> public async void DeleteTicketAsync(int ticketId) { _logger.LogInformation("Deleting ticket with ID {ticketId}", ticketId); Entities.Tickets entity = await _dbContext.Tickets.FindAsync(ticketId); _dbContext.Tickets.Remove(entity); }
protected void GridView12_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "reply") { int rowindex = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex; int s = Convert.ToInt32(GridView12.DataKeys[rowindex].Value); DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets cc1 = new Entities.Tickets() { issueId = s, }; DataSet ds = new DataSet(); ds = db.SelectTicket(cc1); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { TextArea2.Value = ds.Tables[0].Rows[0]["issue"].ToString(); TextBox3.Text = ds.Tables[0].Rows[0]["generatedBy"].ToString(); TextBox4.Text = ds.Tables[0].Rows[0]["issueId"].ToString(); Page.ClientScript.RegisterStartupScript(GetType(), "id", "sTicketReplyPop()", true); } else { Page.ClientScript.RegisterStartupScript(GetType(), "id", "toggle_forms('PendingTickets')", true); } } }
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "reply") { int rowindex = ((GridViewRow)((ImageButton)e.CommandSource).NamingContainer).RowIndex; int s = Convert.ToInt32(GridView2.DataKeys[rowindex].Value); DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets cc1 = new Entities.Tickets() { issueId = s, }; DataSet ds = new DataSet(); ds = db.SelectTicket(cc1); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) { TextArea2.Value = ds.Tables[0].Rows[0]["issue"].ToString(); TextBox3.Text = ds.Tables[0].Rows[0]["generatedBy"].ToString(); TextBox4.Text = ds.Tables[0].Rows[0]["issueId"].ToString(); Page.ClientScript.RegisterStartupScript(GetType(), "id", "TicketReplyPop()", true); } } }
/// <summary> /// Consulta los datos del ticket a reimprimir /// </summary> public void ConsultarTicket() { // Obtenemos los datos de la base de datos Ticket = Entities.Tickets.Read(this.Ticket_ID); // Los validamos ValidarTicket(); }
/// <summary> /// Get a ticket by id. /// </summary> /// <param int="id">The id of the user</param> /// <returns>The tickets</returns> public async Task <Domain.Models.Tickets> GetTicketByIdAsync(int id) { Entities.Tickets item = await _dbContext.Tickets //.Include(c => c.Comments) .FirstOrDefaultAsync(t => t.Id == id); return(Mapper.MapTickets(item)); }
/// <summary> /// Update a ticket. /// </summary> /// <param name="ticket">The ticket with changed values</param> public async void UpdateTicketAsync(int id, Domain.Models.Tickets ticket) { _logger.LogInformation("Updating ticket with ID {ticketId}", id); Entities.Tickets currentEntity = await _dbContext.Tickets.FindAsync(id); var newEntity = Mapper.MapTickets(ticket); _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); }
/// <summary> /// Get the last ticket created. /// </summary> /// <returns>The ticket</returns> public async Task <Domain.Models.Tickets> GetLatestTicketAsync() { IQueryable <Entities.Tickets> list = _dbContext.Tickets //.Include(c => c.Comments) .OrderByDescending(t => t.DatetimeOpened); Entities.Tickets item = await list.FirstOrDefaultAsync(); return(Mapper.MapTickets(item)); }
public DataSet SelectTicket(Entities.Tickets c1) { DataSet ds; using (WSqlCommand dbCom = new WSqlCommand(dbconstring, "[dbo].[spSelectIssue]")) { dbCom.AddParameter("@issueId", SqlDbType.Int, c1.issueId); ds = new DataSet(); ds = dbCom.Execute(); } return(ds); }
public void AddTicket(Entities.Tickets c1) { using (WSqlCommand s1 = new WSqlCommand(dbconstring, "[dbo].[spInsertNewIssue]")) { s1.AddParameter("@generatedBy", System.Data.SqlDbType.NVarChar, c1.generatedBy); s1.AddParameter("@generatedFor", System.Data.SqlDbType.NVarChar, c1.generatedFor); s1.AddParameter("@issue", System.Data.SqlDbType.NVarChar, c1.issue); s1.AddParameter("@linkedWith", System.Data.SqlDbType.Int, c1.linkedWith); s1.AddParameter("@issueDate", System.Data.SqlDbType.Date, c1.issueDate); s1.AddParameter("@isNew", System.Data.SqlDbType.Bit, c1.isNew); s1.Execute(); } }
/// <summary> /// Close an open ticket. /// </summary> /// <param int="id">The id of the ticket to close</param> public async void CloseTicketAsync(int id) { _logger.LogInformation("Updating ticket with ID {ticketId}", id); Entities.Tickets currentEntity = await _dbContext.Tickets.FindAsync(id); var newEntity = currentEntity; newEntity.DatetimeModified = DateTime.Now; newEntity.DatetimeClosed = DateTime.Now; newEntity.Completed = "CLOSED"; _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); //return Mapper.MapTickets(newEntity); }
/// <summary> /// Reassign a ticket to a different admin. /// </summary> /// <param int="ticketId">The id of the ticket to change</param> /// <param int="adminId">The id of the admin</param> /// <returns>The reassigned ticket</returns> public async Task <Domain.Models.Tickets> ReassignTicketAsync(int ticketId, int adminId) { _logger.LogInformation("Updating ticket with ID {ticketId}", ticketId); Entities.Tickets currentEntity = await _dbContext.Tickets.FindAsync(ticketId); var newEntity = currentEntity; Entities.Admins admin = await _dbContext.Admins.FindAsync(adminId); newEntity.DatetimeModified = DateTime.Now; newEntity.AdminId = adminId; newEntity.AdminAssignedName = admin.FirstName + " " + admin.LastName; _dbContext.Entry(currentEntity).CurrentValues.SetValues(newEntity); return(Mapper.MapTickets(newEntity)); }
protected void TicketReply(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(GetType(), "id", "sTicketReplyPop()", true); if (Page.IsValid) { DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets t1 = new Entities.Tickets() { generatedBy = Session["School"].ToString(), generatedFor = TextBox3.Text, issueDate = DateTime.Now.ToShortDateString(), issue = TextBox2.Text, linkedWith = Convert.ToInt32(TextBox4.Text), isNew = false, }; db.AddTicket(t1); Label7.Text = "Replied Successfully"; } }
protected void AddTicket(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(GetType(), "id", "toggle_forms('NewTicket')", true); if (Page.IsValid) { DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets t1 = new Entities.Tickets() { generatedBy = Session["School"].ToString(), generatedFor = IcreatedFor.Text, issueDate = DateTime.Now.ToShortDateString(), issue = TextBox1.Text, }; db.AddTicket(t1); GridView11.DataBind(); UpdatePanel1.Update(); Page.ClientScript.RegisterStartupScript(GetType(), "id", "toggle_forms('NewTicket')", true); Label6.Text = "Issue Added Successfully"; TextBox1.Text = " "; } }
protected void AddTicket(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(GetType(), "id", "toggle_forms('NewTicket')", true); if (Page.IsValid) { DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets t1 = new Entities.Tickets() { generatedBy = Session["School"].ToString(), generatedFor = IcreatedFor.Text, issueDate = DateTime.Now.ToShortDateString(), issue = TextBox1.Text, }; db.AddTicket(t1); GridView1.DataBind(); UpdatePanel1.Update(); Page.ClientScript.RegisterStartupScript(GetType(), "id", "toggle_forms('NewTicket')", true); Label2.Text = "Issue Added Successfully"; TextBox1.Text = " "; } }
/// <summary> /// Registra las operaciones de caja en la base de datos /// </summary> private void RegistrarOperaciones() { // Validamos las operaciones Validar(); // Obtenemos la fecha getDate = DB.GetDate(); // Instanciamos una cuenta de flujo de caja Entities.CuentaFlujoCajas CuentaFlujo = new Entities.CuentaFlujoCajas(); // Creamos el ticket Ticket = new Entities.Tickets(); Ticket.Caja_ID = Sesion.Caja_ID.Value; Ticket.Conductor_ID = DatosConductor.Conductor_ID; Ticket.Empresa_ID = (DatosConductor.Empresa_ID != null) ? DatosConductor.Empresa_ID.Value : GetEmpresa_ID(); Ticket.Estacion_ID = Sesion.Estacion_ID.Value; Ticket.EstatusTicket_ID = 1; Ticket.Fecha = getDate; Ticket.Sesion_ID = Sesion.Sesion_ID; Ticket.Unidad_ID = DatosConductor.Unidad_ID; Ticket.Usuario_ID = Sesion.Usuario_ID; Ticket.Create(); // Realizamos las operaciones de Cuenta conductores // Cuenta cajas // Cuenta Unidades // Para cada adeudo en la lista foreach (Entities.AdeudosDeConductor adeudo in Adeudos) { // Si el adeudo ha sido pagado if (adeudo.Pagar > 0) { #region CuentaConductores // Ingresamos en pago en la cuenta de conductores Entities.CuentaConductores cc = new Entities.CuentaConductores(); cc.Abono = adeudo.Pagar; cc.Caja_ID = Sesion.Caja_ID.Value; cc.Cargo = 0; cc.Comentarios = "PAGO EN CAJA"; cc.Concepto_ID = adeudo.Concepto_ID; cc.Conductor_ID = Ticket.Conductor_ID; cc.Cuenta_ID = adeudo.Cuenta_ID; cc.Empresa_ID = adeudo.Empresa_ID; cc.Estacion_ID = Sesion.Estacion_ID.Value; cc.Fecha = getDate; cc.Saldo = 0; // Se calcula solo cc.Ticket_ID = Ticket.Ticket_ID; cc.Unidad_ID = DatosConductor.Unidad_ID; cc.Usuario_ID = Sesion.Usuario_ID; cc.Create(); // Si la cuenta es de "SUPERPRODUCTIVIDAD" // calculamos el cargo correspondiente if (adeudo.Cuenta_ID == 18) { cc = new Entities.CuentaConductores(); cc.Abono = 0; cc.Caja_ID = Sesion.Caja_ID.Value; cc.Cargo = adeudo.Pagar; cc.Comentarios = "CARGO POR SUPERPRODUCTIVIDAD"; cc.Concepto_ID = 133; // El concepto de cargo cc.Conductor_ID = Ticket.Conductor_ID; cc.Cuenta_ID = adeudo.Cuenta_ID; cc.Empresa_ID = adeudo.Empresa_ID; cc.Estacion_ID = Sesion.Estacion_ID.Value; cc.Fecha = getDate; cc.Saldo = 0; // Se calcula solo //cc.Ticket_ID = Ticket.Ticket_ID; // Entra sin ticket, para no afectar el reporte de tickets cc.Unidad_ID = DatosConductor.Unidad_ID; cc.Usuario_ID = Sesion.Usuario_ID; cc.Create(); } #endregion #region CuentaUnidades // Si hay registro de unidad if (DatosConductor.Unidad_ID != null) { // Realizamos el registro de un abono // a la cuenta de unidad Entities.CuentaUnidades cu = new Entities.CuentaUnidades(); cu.Abono = adeudo.Pagar; cu.Caja_ID = Sesion.Caja_ID.Value; cu.Comentarios = "PAGO EN CAJA"; cu.Concepto_ID = adeudo.Concepto_ID; cu.Conductor_ID = Ticket.Conductor_ID; cu.Cuenta_ID = adeudo.Cuenta_ID; cu.Empresa_ID = adeudo.Empresa_ID; cu.Estacion_ID = Sesion.Estacion_ID.Value; cu.Fecha = getDate; cu.Saldo = 0; // Se calcula solo; cu.Ticket_ID = Ticket.Ticket_ID; cu.Unidad_ID = DatosConductor.Unidad_ID.Value; cu.Usuario_ID = Sesion.Usuario_ID; cu.Create(); } #endregion #region CuentaCajas // El pago lo registramos en la cuenta de cajas Entities.CuentaCajas ccs = new Entities.CuentaCajas(); ccs.Abono = adeudo.Pagar; ccs.Caja_ID = Sesion.Caja_ID.Value; ccs.Cargo = 0; ccs.Comentarios = "PAGO EN CAJA"; ccs.Concepto_ID = adeudo.Concepto_ID; ccs.Cuenta_ID = adeudo.Cuenta_ID; ccs.Empresa_ID = adeudo.Empresa_ID; ccs.Estacion_ID = Sesion.Estacion_ID.Value; ccs.Fecha = getDate; ccs.Saldo = 0; // Se calcula solo ccs.Sesion_ID = Sesion.Sesion_ID; ccs.Ticket_ID = Ticket.Ticket_ID; ccs.Usuario_ID = Sesion.Usuario_ID; ccs.Create(); #endregion } } #region Planillas Cuenta Cajas // Para cada planilla fiscal foreach (Entities.PlanillasFiscales planilla in Planillas) { // Creamos un abono en la cuenta de cajas Entities.CuentaCajas ccs = new Entities.CuentaCajas(); ccs.Abono = planilla.Precio; ccs.Caja_ID = Sesion.Caja_ID.Value; ccs.Cargo = 0; ccs.Comentarios = "PAGO EN CAJA - PLANILLAS -"; ccs.Concepto_ID = 147; ccs.Cuenta_ID = 6; ccs.Empresa_ID = planilla.Empresa_ID; ccs.Estacion_ID = Sesion.Estacion_ID.Value; ccs.Fecha = getDate; ccs.Saldo = 0; // Se calcula solo ccs.Sesion_ID = Sesion.Sesion_ID; ccs.Ticket_ID = Ticket.Ticket_ID; ccs.Usuario_ID = Sesion.Usuario_ID; ccs.Create(); } #endregion #region Vales Cuenta Cajas // Para cada vale prepagado foreach (Entities.ValesPrepagados vale in Vales) { // Creamos un abono en la cuenta de cajas Entities.CuentaCajas ccs = new Entities.CuentaCajas(); ccs.Abono = vale.Denominacion; ccs.Caja_ID = Sesion.Caja_ID.Value; ccs.Cargo = 0; ccs.Comentarios = "PAGO EN CAJA - VALES -"; ccs.Concepto_ID = 148; ccs.Cuenta_ID = 5; ccs.Empresa_ID = 6; // Los vales son de Axertis ccs.Estacion_ID = Sesion.Estacion_ID.Value; ccs.Fecha = getDate; ccs.Saldo = 0; // Se calcula solo ccs.Sesion_ID = Sesion.Sesion_ID; ccs.Ticket_ID = Ticket.Ticket_ID; ccs.Usuario_ID = Sesion.Usuario_ID; ccs.Create(); } #endregion // Si hay vales prepagados if (Operacion.TotalVales > 0) { #region Flujo Caja Vales // Creamos un abono en la cuenta de flujo de caja CuentaFlujo = new Entities.CuentaFlujoCajas(); CuentaFlujo.Abono = Operacion.TotalVales; CuentaFlujo.Caja_ID = Sesion.Caja_ID.Value; CuentaFlujo.Cargo = 0; CuentaFlujo.Concepto = "PAGO CON VALES"; CuentaFlujo.Fecha = getDate; CuentaFlujo.Moneda_ID = 3; // Los vales CuentaFlujo.Saldo = 0; // Se calcula solo CuentaFlujo.Sesion_ID = Sesion.Sesion_ID; CuentaFlujo.Ticket_ID = Ticket.Ticket_ID; CuentaFlujo.Usuario_ID = Sesion.Usuario_ID; CuentaFlujo.Create(); #endregion #region Retribucion de Vales // El total de los vales decimal totalvales = this.Operacion.TotalVales; // El pago con vales decimal pagovales; // Para cada adeudo foreach (Entities.AdeudosDeConductor adeudo in Adeudos) { // Si fue pagado if (adeudo.Pagar > 0) { // Si el total de vales es menor o igual que el adeudo pagado if (totalvales <= adeudo.Pagar) { // El pago de vales es el tota pagovales = totalvales; } else // Si no { // El pago de vales es la cantidad pagada pagovales = adeudo.Pagar; } // Creamos la retribución de vales para la cuenta de cajas // es decir, se carga la cantidad de pago con vales // que fueron utilizados en lugar del pago con efectivo Entities.CuentaCajas ccs = new Entities.CuentaCajas(); ccs.Cargo = Math.Abs(pagovales); ccs.Caja_ID = Sesion.Caja_ID.Value; ccs.Abono = 0; ccs.Comentarios = "RETRIBUCION EN CAJA - VALES -"; ccs.Concepto_ID = adeudo.Concepto_ID; ccs.Cuenta_ID = adeudo.Cuenta_ID; ccs.Empresa_ID = adeudo.Empresa_ID; // Los vales son de Axertis ccs.Estacion_ID = Sesion.Estacion_ID.Value; ccs.Fecha = getDate; ccs.Saldo = 0; // Se calcula solo ccs.Sesion_ID = Sesion.Sesion_ID; ccs.Ticket_ID = Ticket.Ticket_ID; ccs.Usuario_ID = Sesion.Usuario_ID; ccs.Create(); // Se disminuye el total de vales totalvales -= pagovales; // En cuanto se llegue a 0 // sale del ciclo if (totalvales == 0) break; } } #endregion } // Si hubo pago con efectivo pago con efectivo if (Operacion.PagoEfectivo > 0) { // El efectivo se ingresa a la cuenta de flujo de caja CuentaFlujo = new Entities.CuentaFlujoCajas(); CuentaFlujo.Abono = Operacion.PagoEfectivo; CuentaFlujo.Caja_ID = Sesion.Caja_ID.Value; CuentaFlujo.Cargo = 0; CuentaFlujo.Concepto = "PAGO CON EFECTIVO"; CuentaFlujo.Fecha = getDate; CuentaFlujo.Moneda_ID = 1; // El efectivo CuentaFlujo.Saldo = 0; // Se calcula automáticamente CuentaFlujo.Sesion_ID = Sesion.Sesion_ID; CuentaFlujo.Ticket_ID = Ticket.Ticket_ID; CuentaFlujo.Usuario_ID = Sesion.Usuario_ID; CuentaFlujo.Create(); } // Si hay cambio if (Math.Abs(Operacion.Cambio) > 0) { // El cambio, en efectivo, sale de la caja CuentaFlujo = new Entities.CuentaFlujoCajas(); CuentaFlujo.Abono = 0; CuentaFlujo.Caja_ID = Sesion.Caja_ID.Value; CuentaFlujo.Cargo = Math.Abs(Operacion.Cambio); CuentaFlujo.Concepto = "CAMBIO / PAGO CONDUCTOR"; CuentaFlujo.Fecha = getDate; CuentaFlujo.Moneda_ID = 1; // El efectivo CuentaFlujo.Saldo = 0; // Se calcula automáticamente CuentaFlujo.Sesion_ID = Sesion.Sesion_ID; CuentaFlujo.Ticket_ID = Ticket.Ticket_ID; CuentaFlujo.Usuario_ID = Sesion.Usuario_ID; CuentaFlujo.Create(); } // Solamente si hay servicios, estos se ingresan // a la cuenta de flujo de caja if (Math.Abs(Operacion.TotalServicios) > 0) { CuentaFlujo.Cargo = 0; CuentaFlujo.Caja_ID = Sesion.Caja_ID.Value; CuentaFlujo.Abono = Math.Abs(Operacion.TotalServicios); CuentaFlujo.Concepto = "CANJE DE BOLETOS"; CuentaFlujo.Fecha = getDate; CuentaFlujo.Moneda_ID = 2; // Boletos de Servicios CuentaFlujo.Saldo = 0; // Se calcula automáticamente CuentaFlujo.Sesion_ID = Sesion.Sesion_ID; CuentaFlujo.Ticket_ID = Ticket.Ticket_ID; CuentaFlujo.Usuario_ID = Sesion.Usuario_ID; CuentaFlujo.Create(); } // Dar de baja los vales foreach (Entities.ValesPrepagados vale in Vales) { MarcarVale(vale); } // Dar de baja las planillas fiscales foreach (Entities.PlanillasFiscales planilla in Planillas) { MarcarPlanilla(planilla); } // Dar de baja los servicios que existan foreach (Entities.ServiciosPendientesConductor sp in this.ServiciosPendientes) { MarcarServicio(sp); } }
protected void TicketReply(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(GetType(), "id", "TicketReplyPop()", true); if (Page.IsValid) { DBHandler.DBHandler db = new DBHandler.DBHandler(con); Entities.Tickets t1 = new Entities.Tickets() { generatedBy = Session["School"].ToString(), generatedFor = TextBox3.Text, issueDate = DateTime.Now.ToShortDateString(), issue = TextBox2.Text, linkedWith = Convert.ToInt32(TextBox4.Text), isNew = false, }; db.AddTicket(t1); Label1.Text = "Replied Successfully"; } }