public bool Equals(DetalleGastosServicio other)
        {
            if (object.ReferenceEquals(other, null)) return false;
            if (object.ReferenceEquals(this, other)) return true;

            return IdGastosServicio.Equals(other.IdGastosServicio) && IdServicio.Equals(other.IdServicio);
        }
        protected void lvProductos_ItemCommand(object sender, ListViewCommandEventArgs e)
        {
            if (e.CommandName == "addProducto")
            {
                var gastosServicioId = Int32.Parse(e.CommandArgument.ToString());

                var gastosServicio = GastosServicioService.GetGastosServicioById(gastosServicioId);

                var servicio = Cache.Get("servicio") as Servicio;

                var existe =
                    servicio.DetalleGastosServicios.SingleOrDefault(i => i.IdGastosServicio.Equals(gastosServicioId));

                if (existe == null)
                {

                    var detalleGastos = new DetalleGastosServicio()
                    {
                        Cantidad = 1,
                        GastosDeServicio = gastosServicio,
                        IdGastosServicio = gastosServicioId,
                        IdServicio = servicio.Id,
                        Costo = gastosServicio.Precio
                    };

                    //agregar un nuevo item
                    servicio.DetalleGastosServicios.Add(detalleGastos);

                }
                else
                {
                    existe.Cantidad += 1;
                }

                BindServicio(servicio);

                Cache.Insert("servicio", servicio);

            }
        }