Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
                }
            }
        }
Пример #4
0
            /// <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();                
            }
Пример #5
0
        /// <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));
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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));
        }
Пример #8
0
        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);
        }
Пример #9
0
 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();
     }
 }
Пример #10
0
        /// <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);
        }
Пример #11
0
        /// <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));
        }
Пример #12
0
 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";
     }
 }
Пример #13
0
 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 = " ";
     }
 }
Пример #15
0
		/// <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";
     }
 }